Saya membuat .desktop
file untuk digunakan di Peluncur Persatuan.
Saya memiliki lokasi saya sendiri di direktori home saya di mana saya meletakkan file executable saya ( ~/usr/bin/
) yang ditambahkan dengan benar ke PATH
variabel lingkungan saya di .pam_environment
file saya sebagaimana ditentukan dalam dokumentasi Ubuntu yang relevan .
Ini adalah isi .pam_environment
file saya :
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/
Yang menghasilkan PATH
variabel saya adalah sebagai berikut:
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/
Saya tahu ini ditambahkan dua kali, tetapi segala sesuatu dalam .pam_environment
file tersebut sepertinya akan ditambahkan dua kali tidak peduli apa pun saat menggunakan sintaks yang benar yang direkomendasikan dalam Dokumentasi Ubuntu yang saya rujuk.
Ini adalah salah satu contoh masalah (ini terjadi pada semua kasus). Saya memiliki skrip (disebut eclipse
) ~/usr/bin/
yang menjalankan Eclipse IDE.
Saya dapat membuka terminal apa saja dan cukup mengetik eclipse
dan itu berjalan dengan baik seperti yang Anda harapkan.
Tetapi saat menggunakan .desktop
file berikut :
#!/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
Saya mendapatkan kesalahan:
Tetapi ketika saya mengubah Exec=
jalur ke:
Exec=/home/ben/usr/bin/eclipse
ini bekerja dengan sempurna.
The Official Persatuan Peluncur dan Desktop file dokumentasi menunjukkan bahwa ini harus bekerja:
Exec adalah path ke file yang dapat dieksekusi. Path lengkap ke file yang dapat dieksekusi harus digunakan hanya jika itu tidak ada di path yang ditentukan dalam variabel $ PATH. Misalnya, file apa pun yang ada di dalam path / usr / bin tidak perlu memiliki path lengkap yang ditentukan di bidang Exec, tetapi hanya nama file mereka.
Ada saran tentang apa yang terjadi?
Jawaban:
Tilde tidak diperluas
.pam_environment
seperti dalam skrip profil, dan file desktop tidak melakukan ekspansi shell padaExec
baris mereka seperti yang dilakukan shell, jadi mencari file yang secara harfiah bernama~/usr/bin/eclipse
, yang tentu saja tidak tidak ada.Ganti tilde dalam tugas PATH dengan $ {HOME} dan sepertinya berhasil.
sumber
$PATH
terjadi dua kali?Apa yang dikatakan pada dokumentasi Ubuntu masuk akal, namun bagian "tidak direkomendasikan lagi" kurang dalam beberapa detail. Untuk alasan itu, jawaban saya akan melibatkan penggunaan salah satu metode ini. Juga: sudah digunakan untuk tujuan yang sama persis ini.
Lakukan kunjungan cepat ke file ./.profile Anda.
Milik saya mengandung ini:
Seperti yang dapat Anda lihat pada bagian terakhir dari file ini (baris di bawah # atur PATH sehingga termasuk bin pribadi pengguna jika ada), ini sudah dilakukan. Jadi jika Anda ingin menambahkan sesuatu ke variabel $ PATH, Anda cukup melakukan hal yang sama. Dokumentasi menyebutkan bahwa ini akan dijalankan setiap kali sistem dimulai.
Dalam kasus Anda, yang perlu Anda lakukan adalah menambahkan ini:
Pada titik ini saya mulai berpikir bahwa satu-satunya alasan bahwa metode ini tidak direkomendasikan lagi adalah karena melibatkan scripting pada startup, yang sangat sensitif terhadap sedikit kesalahan. Namun, ketika seseorang bekerja dengan sesuatu seperti ini, kesalahan kecil dapat diatasi hanya dengan mengubah file kembali seperti semula.
Jika Anda tidak yakin bagaimana melakukan ini:
1) Pertama, tekan CTRL + ALT + F3
2) Masuk dengan mengikuti prompt di layar
3) Ketik ini ke dalam prompt perintah:
4) hapus baris ini: (kami baru saja menambahkannya)
5) tekan CTRL + O (seperti dalam Keluar)
6) tekan CTRL + X (seperti pada eXit)
7) ketik
exit
dan tekan ENTER (terkadang RETURN)8) sekarang tekan CTRL + ALT + F7
9) Anda harus mendapatkan layar login atau desktop Anda, tergantung kapan masalah terjadi. Jika tidak, tekan CTRL + ALT + DEL (terkadang CTRL + ALT + DELETE) dan sistem Anda harus memulai ulang dengan aman.
Semoga ini membantu!
sumber