问题描述
该笔记将记录:与运行应用程序有关的内容,以及常见问题的处理方案。
解决方法
应用程序自启动
How To Launch Startup Applications With A Delay On Linux
GNOME Tweaks / Startup Applications / +
如果需要应用程序延迟启动(避免同时启动而产生的高负载),需要修改 ~/.config/autostart/*.desktop 文件:
[Desktop Entry] ... X-GNOME-Autostart-Delay=10 ...
通过快捷键,来运行应用
Setting a key shortcut to run an application in GNOME :: Fedora Docs
command line – Running a .desktop file in the terminal – Ask Ubuntu
我们需要设置截图快捷键(运行我们自定义的截图程序),以便在按下快捷键时进行截图。
在 Settings / Devices / Keyboard 中,我们可以添加快捷键,但是有两种方法运行应用:
1)直接指定应用的运行命令;
2)使用 gtk-launch 命令:gtk-launch “xxx.desktop”
我们推荐 2)方法,其中:xxx.desktop 可以为任何 .desktop 文件;无需制定路径,会自行搜索;可以省略 .desktop 后缀。
以单实例运行应用、仅允许应用启动一次
ubuntu – Limit a gui program in Linux to only one instance – Super User
以 HexChat 为例:当收到消息通知时,我们点击图标以查看消息,但是每次都将运行新的 HexChat 实例,而不是显示原有窗口。
我们需要以单实例运行应用,即仅允许应用运行一次。
修改应用程序 .desktop 文件的 Exec 属性(我们以 HexChat 为例):
Exec=sh -c 'pidof "hexchat" 1>/dev/null 2>&1 && notify-send "HexChat" "This program is already running." || hexchat'
该方法能够保证:在我们点击图标时,不会重复运行应用。
# 02/11/2021 目前,我们没有找到更好的方案,因为再好的方案都不如应用本身支持。有些方案属于“补丁”,有些方案仅针对我们的场景。