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?


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.


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.


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.