「GNOME 3」- 运行应用程序

  CREATED BY JENKINSBOT

问题描述

该笔记将记录:与运行应用程序有关的内容,以及常见问题的处理方案。

解决方法

应用程序自启动

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 目前,我们没有找到更好的方案,因为再好的方案都不如应用本身支持。有些方案属于“补丁”,有些方案仅针对我们的场景。