web-dev-qa-db-ja.com

.desktopランチャーの「Exec = ...」行のヘルプ-コマンドはターミナルでのみ機能します

UnityのThunderbirdランチャーに別のコンテキストメニューオプションを追加したい。ただし、機能しません。ランチャーのコンテキストメニューに追加のアクションが表示されます。クリックすると、カーソルが数秒間「待機中の円」に変わりますが、何も起こりません。ターミナルでスクリプトを実行すると、魅力のように機能します。
ランチャーコンテキストメニューから必要なコマンドを実行するには、何を変更する必要がありますか?

実行する必要があるコマンドはbashスクリプトファイルに外部委託されているため、Exec行は次のとおりです。

Exec=/bin/bash -c "/home/bytecommander/bin/Thunderbird-win.sh"

/home/bytecommander/bin/Thunderbird-win.shのコンテンツ:

#! /bin/bash

# Launches Thunderbird after mounting the Windows partition with that profile.
# Both mount commands as root are set in the sudoers file to not ask for passwords.

Sudo mount /dev/sda2 /mnt/windows
Thunderbird -p windows
Sudo umount /dev/sda2

/usr/share/applications/Thunderbird.desktopのコンテンツの短縮(翻訳なし):

[Desktop Entry]
Encoding=UTF-8
Name=Thunderbird Mail
Comment=Send and receive mail with Thunderbird
GenericName=Mail Client
Keywords=Email;E-mail;Newsgroup;Feed;RSS
Exec=Thunderbird %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=Thunderbird
Categories=Application;Network;Email;
MimeType=x-scheme-handler/mailto;application/x-xpinstall;
StartupNotify=true
Actions=Compose;Contacts;LoadWindowsProfile

[Desktop Action Compose]
Name=Compose New Message
Exec=Thunderbird -compose
OnlyShowIn=Messaging Menu;Unity;

[Desktop Action Contacts]
Name=Contacts
Exec=Thunderbird -addressbook
OnlyShowIn=Messaging Menu;Unity;

[Desktop Action LoadWindowsProfile]
Name=Run with Windows profile
Exec=/bin/bash -c "/home/bytecommander/bin/Thunderbird-win.sh"
OnlyShowIn=Messaging Menu;Unity;
3
Byte Commander

申し訳ありませんが、この問題が解消されたことを伝えて恥ずかしく思います...

.desktopランチャーから起動した場合、スクリプトパスのタイプミスが原因で何も起きなかったため、Exec=...行が存在しないファイルを指しています。

私はこの問題に時間を費やした人々にのみ謝罪することができます。

1
Byte Commander