Alias ​​.bashrc saya tidak dijalankan di file .desktop

19

Saya telah menambahkan baris berikut ke .bashrcfile:

alias midos="sh /home/erkanmdr/Belgeler/midos/midos.sh"

Perintah ini berfungsi dengan baik di terminal dan tty. Tetapi tidak bekerja di file shortcut .desktop saya.

file midos.desktop:

[Desktop Entry]
Name=MiDoS
Exec=midos
Icon=/home/erkanmdr/Belgeler/midos-128.png
Terminal=true

Bagaimana cara menjalankan midosperintah saya di file pintasan .desktop?

ErkanMDR
sumber
Anda bisa menggantinya Exec=midosdenganExec=sh /home/erkanmdr/Belgeler/midos/midos.sh
c0rp
Saya tidak mau itu. Saya ingin menggunakan secara langsung. Itu mungkin?
ErkanMDR
1
Saya akan ganti shdengan bash(alias midos = "bash /home/erkanmdr/Belgeler/midos/midos.sh")
Sylvain Pineau
@SylvainPineau tidak bekerja
ErkanMDR

Jawaban:

24

Sementara jawaban lain menawarkan solusi yang baik untuk masalah Anda, untuk menjawab pertanyaan Anda, cara yang tepat untuk menggunakan alias di dalam file .desktop adalah, dalam kasus Anda:

Exec=bash -ic "midos"

Itu karena alias dari ~/.bashrcfile hanya akan berfungsi di shell interaktif bash ( -iopsi digunakan dalam kasus ini untuk memulai bash interaktif).

Jika pengguna lain ingin menggunakan file .desktop yang sama, maka ia juga harus mendefinisikan alias itu.

Radu Rădeanu
sumber
Bagus! Persis apa yang saya cari. Terima kasih banyak
ErkanMDR
6

Saya akan sangat terkejut jika GUI punya ide tentang shell Anda. Anda harus meletakkan path lengkap di file desktop Anda:

Exec=/home/erkanmdr/Belgeler/midos/midos.sh

Dan pastikan skrip Anda dapat dieksekusi.

glenn jackman
sumber
6

Sedikit solusi.

Tambahkan ini #!/bin/bashke baris pertama skrip Anda, jika belum ada di sana.

Misalnya skrip Anda sebelumnya:

sometext1
sometext2
sometext3
sometext4

Script Anda setelah:

#!/bin/bash
sometext1
sometext2
sometext3
sometext4

Sekarang salin skrip Anda ke /usr/local/bin, dan buat itu dapat dieksekusi:

sudo cp /home/erkanmdr/Belgeler/midos/midos.sh /usr/local/bin/midos
sudo chmod +x /usr/local/bin/midos

Setelah itu akan berfungsi seperti yang Anda inginkan.

c0rp
sumber