.desktopファイルで.bashrcエイリアスが実行されない


19

.bashrcファイルに次の行を追加しました。

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

このコマンドは、端末およびttyで正常に機能します。しかし、私の.desktopショートカットファイルでは機能しません。

midos.desktopファイル:

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

midos.desktopショートカットファイルでコマンドを実行するにはどうすればよいですか?


あなたは置き換えることができExec=midosExec=sh /home/erkanmdr/Belgeler/midos/midos.sh
c0rp

いりません。直接使いたいです。それが可能だ?
ErkanMDR 14

1
私は置き換えたいshbash(別名midos =「bashの/home/erkanmdr/Belgeler/midos/midos.sh」)
シルヴァンピノー

@SylvainPineauは機能しませんでした
ErkanMDR 14

回答:


24

他の回答はあなたの問題に対する良い回避策を提供しますが、質問に答えるために、.desktopファイル内でエイリアスを使用する正しい方法は、あなたの場合です:

Exec=bash -ic "midos"

以下からのエイリアスからだ~/.bashrcファイルが動作するだけはbash対話型シェル-iオプションは、対話型のbashを起動するには、この場合には使用されています)。

別のユーザーが同じ.desktopファイルを使用する場合は、そのエイリアスも定義する必要があります。


すばらしいです!まさに私が探していたもの。ありがとうございました
ErkanMDR

6

GUIがあなたのシェルについての考えを持っているなら、私は非常に驚くでしょう。デスクトップファイルにフルパスを入力する必要があります。

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

そして、スクリプトが実行可能であることを確認してください。


6

少しの回避策。

#!/bin/bashスクリプトの最初の行にこれを追加します(まだない場合)。

たとえば、前のスクリプト:

sometext1
sometext2
sometext3
sometext4

次のスクリプトを作成します。

#!/bin/bash
sometext1
sometext2
sometext3
sometext4

スクリプトを/usr/local/binにコピーし、実行可能にします。

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

その後、あなたが望むように動作するはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.