我想在 Unity 中为 Thunderbird 启动器添加另一个上下文菜单选项。但是,它不起作用。附加操作出现在启动器的上下文菜单中,当我单击它时,光标会变为“等待圆圈”几秒钟,但之后什么也没有发生。如果我在终端中运行该脚本,它就会运行得很好。
我必须进行哪些更改才能从启动器上下文菜单运行所需的命令?
我需要运行的命令外包给一个 bash 脚本文件,因此 Exec-line 是:
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;
答案1
我感到很遗憾,也有点不好意思地告诉你,这个问题已经解决了……
从 .desktop 启动器启动时什么都不会发生的原因是脚本路径中的拼写错误,因此该Exec=...
行指向不存在的文件。
我只能向那些花时间研究这个问题的人表示歉意。