Tôi đang tạo .desktop
tập tin để sử dụng trong Unity Launcher.
Tôi có vị trí riêng trong thư mục nhà của mình, nơi tôi đặt các tệp thực thi ( ~/usr/bin/
) được thêm chính xác vào PATH
biến môi trường trong .pam_environment
tệp của mình như được chỉ định trong tài liệu Ubuntu có liên quan .
Đây là nội dung của .pam_environment
tập tin của tôi :
LANGUAGE=en_AU:en_GB:en
LANG=en_AU.UTF-8
LC_NUMERIC=en_AU.UTF-8
LC_TIME=en_AU.UTF-8
LC_MONETARY=en_AU.UTF-8
LC_PAPER=en_AU.UTF-8
LC_NAME=en_AU.UTF-8
LC_ADDRESS=en_AU.UTF-8
LC_TELEPHONE=en_AU.UTF-8
LC_MEASUREMENT=en_AU.UTF-8
LC_IDENTIFICATION=en_AU.UTF-8
PATH DEFAULT=${PATH}:~/usr/bin/
Kết quả là PATH
biến của tôi như sau:
ben@ben-HPdv6:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:~/usr/bin/:~/usr/bin/
Tôi biết rằng nó được nối thêm hai lần, nhưng mọi thứ trong .pam_environment
tệp dường như được thêm hai lần bất kể khi sử dụng đúng cú pháp được đề xuất trong Tài liệu Ubuntu mà tôi đã tham chiếu.
Đây là một ví dụ về vấn đề (nó xảy ra với tất cả các trường hợp). Tôi có một tập lệnh (được gọi eclipse
) trong ~/usr/bin/
đó chạy IDE Eclipse.
Tôi có thể mở bất kỳ thiết bị đầu cuối và chỉ cần gõ eclipse
và nó chạy tốt như bạn mong đợi.
Nhưng khi sử dụng .desktop
tệp sau :
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Eclipse - Juno (4.2)
Icon=/home/ben/.icons/eclipse.svg
Exec=eclipse
Tôi nhận được lỗi:
Nhưng khi tôi thay đổi Exec=
dòng thành:
Exec=/home/ben/usr/bin/eclipse
nó hoạt động hoàn hảo
Các Official Unity Launcher và Desktop file tài liệu cho thấy rằng điều này sẽ làm việc:
Exec là đường dẫn đến tập tin thực thi. Đường dẫn đầy đủ đến tệp thực thi chỉ được sử dụng trong trường hợp không có trong bất kỳ đường dẫn nào được chỉ định trong biến $ PATH. Ví dụ: bất kỳ tệp nào nằm trong đường dẫn / usr / bin không cần phải có đường dẫn đầy đủ được chỉ định trong trường Exec, mà chỉ có tên tệp của chúng.
Bất kỳ đề xuất về những gì đang xảy ra?