我想向启动器添加一些文件夹,以便我可以轻松访问它们。如何为启动器添加快捷方式?
在 Gnome 桌面环境中,我可以通过将 .desktop 文件放在 ~/.local/share/applications/ 中来创建应用程序的快捷方式,如下所示:
cat > ~/.local/share/applications/vscode.desktop <<EOL
[Desktop Entry]
Exec=/media/data/sas/devel/opt/code/code %f
Icon=/media/data/sas/devel/opt/code/visual-studio-code-green.png
Terminal=false
Type=Application
Name=vscode
Comment=Editor for building and debugging modern web and cloud applications
Categories=Development;WebDevelopment;IDE;Utility;TextEditor;
EOL
Run Code Online (Sandbox Code Playgroud)
这样我就可以按 Meta 键并开始输入“代码”,然后选择并运行该应用程序。
如何在 KDE Plasma 5 中实现相同的目标?
使用 Kubuntu 18.04、KDE Plasma 5.12.7、KDE 框架 5.44
编辑:只需创建文件夹,一切都按预期工作,抱歉......
要通过右键单击 Unity 启动器 (Ubuntu 14.04) 中的图标来获得“最小化窗口”选项,我按照此处有关更改.desktop
文件的详细说明进行操作,并Firefox
在~/.local/share/applications/
文件夹中创建了自定义启动器。.desktop 文件的相关部分是:
Actions=NewWindow;NewPrivateWindow;Minimize
[Desktop Action NewWindow]
Name=Open a New Window
Exec=firefox -new-window
OnlyShowIn=Unity;
[Desktop Action NewPrivateWindow]
Name=Open a New Private Window
Exec=firefox -private-window
OnlyShowIn=Unity;
[Desktop Action Minimize]
Name=Minimize Windows
Exec=sh /home/myusername/Documents/xdotool_sh/minimize.sh firefox
OnlyShowIn=Unity;
Run Code Online (Sandbox Code Playgroud)
桌面操作“最小化”调用一个简单的 shell 脚本,minimize.sh
其内容如下:
#/bin/bash
name=$1
for i in $(xdotool search --class "$name"); do
xdotool windowminimize $i
done
Run Code Online (Sandbox Code Playgroud)
该脚本使用xdotool
,可以从官方存储库安装,查找所有firefox
窗口,遍历它们并最小化它们。
该脚本有效,启动器右侧菜单选项“最小化 Windows”也有效,但是一旦窗口最小化,鼠标指针就会进入“忙碌”模式并保持大约 20 秒(尽管鼠标操作仍然有反应)。
有谁知道为什么从 Unity 中的右侧菜单选项启动 shell 脚本会导致这种行为?
编辑 …
我正在使用 ubuntu 16.04 LTS。
我已经下载了最新的 krita appimage ( http://files.kde.org/krita/3/linux/krita-3.0-x86_64.appimage )
我希望能够通过双击文件图标,使用此 appimage 打开 Krita 文件(扩展名为“.kra”,mime 类型为“application/x-krita”)。
我该怎么做呢?
我尝试将 appimage 移动到 /usr/share/applications,我尝试添加桌面文件 /usr/share/applications/krita.desktop ,其中包含以下内容:
[Desktop Entry]
Name=Krita
Exec=/usr/share/applications/krita-3.0-x86_64.appimage %F
Type=Application
MimeType=application/x-krita
Run Code Online (Sandbox Code Playgroud)
我已确保这两个文件与同一目录中的其他文件具有相同的权限。
Krita 没有出现在“用其他应用程序打开...”下
我正在尝试创建一个桌面快捷方式来启动Spyder
,可以通过spyder
在终端中输入来启动。
我在里面做了一个spy.sh
脚本spyder
。它适用于bash spy.sh
和./spy.sh
。但是当我制作这样的桌面快捷方式时:
[Desktop Entry]
Name=spyd
Exec=/Desktop/spy.sh
Comment=
Icon=
Type=Application
Terminal=true
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误:
“为终端创建子进程时出错。无法执行子进程“/Desktop/spy.sh”(没有这样的文件或目录)”
当我改成同样的错误 Exec=spyder
我该怎么办?
情况是这样的:
在(下一版本)Unity 快速列表编辑器上工作时,我想添加一种可靠的“重新启动”启动器图标方式。为此,我需要删除图标(编辑 gsettings)并将其替换在同一位置。到目前为止没有问题。但是,如果有问题的应用程序正在运行,用户可能会丢失数据,因为当它的图标从启动器中删除时,应用程序将退出。我需要的是找到一个应用程序的进程名,让在运行,如果应用程序正在运行的进程列表编辑器检查,并发送警告信息给用户的图标无法重新启动的可靠方法,如果该应用程序跑步。
到目前为止我所做的是让编辑器查看桌面文件,读取命令,还读取命令,从目录部分剥离,并进一步查看桌面文件命令可能引用的可能的远程脚本,查找字符串开头和 ”。/”
尽管该方法似乎适用于我测试过的所有应用程序,但我觉得必须有一种更简单的方法以“一体式”方式解决问题......
在那儿?
也欢迎提出捕捉更多特殊情况的建议!
我正在创建.desktop
用于 Unity Launcher 的文件。
我在我的主目录中有我自己的位置,我将我的可执行文件 ( ~/usr/bin/
) 正确添加到PATH
我的.pam_environment
文件中的环境变量中,如相关 Ubuntu 文档中指定的那样。
这是我的.pam_environment
文件的内容:
LANGUAGE=en_AU:en_GB:en
LANG=en_AU.UTF-8
LC_NUMERIC=en_AU.UTF-8
LC_TIME=en_AU.UTF-8
LC_MONETARY=en_AU.UTF-8
LC_PAPER=en_AU.UTF-8
LC_NAME=en_AU.UTF-8
LC_ADDRESS=en_AU.UTF-8
LC_TELEPHONE=en_AU.UTF-8
LC_MEASUREMENT=en_AU.UTF-8
LC_IDENTIFICATION=en_AU.UTF-8
PATH DEFAULT=${PATH}:~/usr/bin/
Run Code Online (Sandbox Code Playgroud)
这导致我的PATH
变量如下:
ben@ben-HPdv6:~$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:~/usr/bin/:~/usr/bin/
Run Code Online (Sandbox Code Playgroud)
我知道它被附加了两次,但是.pam_environment
无论使用我引用的 Ubuntu 文档中推荐的正确语法,文件中的任何内容似乎都被添加了两次。
这是问题的一个示例(所有情况都会发生)。我有一个运行 Eclipse IDE的脚本(称为eclipse
)~/usr/bin/
。
我可以打开任何终端并简单地输入eclipse
,它运行得很好,就像你期望的那样。
但是当使用以下.desktop
文件时:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Name=Eclipse - Juno (4.2)
Icon=/home/ben/.icons/eclipse.svg
Exec=eclipse
Run Code Online (Sandbox Code Playgroud)
我收到错误:
但是当我将Exec=
行更改为:
Exec=/home/ben/usr/bin/eclipse
Run Code Online (Sandbox Code Playgroud)
它完美地工作。
在 …
我创建了一个 .desktop 文件,在/etc/xdg/autostart
其中运行命令
Exec= disper -d LVDS,VGA-0 -r auto -e -t right
Run Code Online (Sandbox Code Playgroud)
现在我想在第一个命令之后添加第二个命令来运行。我该怎么做呢 ?
我为 Androxyde 的 Flashtool(索尼 Xperia 设备的实用程序,我必须使用其文件夹中的可执行文件打开)制作了一个 .desktop 文件,该文件需要 root 权限才能使用 fastboot 实用程序。我曾经让它与 一起工作gksu
,但我使用的是 Ubuntu 15.04,而 gksu 现在已经过时了。
我试图修改exec
行
Exec=gksu /home/natasha/FlashTool/FlashTool
Run Code Online (Sandbox Code Playgroud) 到 Exec=pkexec /home/natasha/FlashTool/FlashTool
Run Code Online (Sandbox Code Playgroud)
然后,我读到 pkexec 不允许运行 X11 应用程序,因此我以这种方式覆盖:
现在的问题是:它询问我密码但 Flashtool 的 GUI 没有启动。但是,如果我在终端中执行该命令,程序将毫无问题地启动。我能做什么?
在我的桌面上,我有一个 .desktop 文件。如果我输入:
Icon=/home/ianbell/Pictures/myLogo.png
Run Code Online (Sandbox Code Playgroud)
.desktop 文件的图标发生变化(预期结果)。
但是,如果我输入:
Icon=~/Pictures/myLogo.png
Run Code Online (Sandbox Code Playgroud)
它不起作用。
不是~/
捷径/home/$USER
吗?