最近更新于 2024-05-05 14:19
因为我要在 Ubuntu 20.04 上使用 Pycharm,下载下来后发现居然不是安装包,而是可以直接运行的程序(放在 Windows 上叫做绿色版软件)。启动入口是一个脚本文件(pycharm.sh),每次要通过终端执行命令运行就很麻烦,我给它增加了可执行权限,但是也不能直接双击运行,一双击就打开编辑器让我编辑这个脚本……
想着运行后,将 PyCharm 固定到左边收藏夹,可能因为是脚本所以收藏也没有
那么就考虑创建 .desktop 文件(快捷方式)
Ubuntu 20.04 的应用程序快捷方式存放路径是在 /usr/share/applications(对所有用户)和 ~/.local/share/applications (当前用户)
我系统安装了 vscode 的,想来 vscode 和 pycharm 都是开发工具,性质类似,那么就参考 vscode 的快捷方式来写,下面将 /usr/share/applications/code.desktop 文件内容放到下面并添加了注释,方便参阅
[Desktop Entry] Name=Visual Studio Code # 应用名字 Comment=Code Editing. Redefined. # 注释 GenericName=Text Editor # 描述 Exec=/usr/share/code/code --unity-launch %F # 执行的命令 Icon=com.visualstudio.code # 图标路径 Type=Application # 快捷方式类型为应用程序 StartupNotify=false # 是否需要在终端中执行 StartupWMClass=Code # WM_CLASS 分类,我也不知道着是各啥,不过可以先运行一个该快捷方式对象的程序窗口,然后打开终端执行 xprop WM_CLASS,然后点击程序窗口就会显示出来,再设置到这里就行 Categories=TextEditor;Development;IDE; # 应用类型 MimeType=text/plain;inode/directory;application/x-code-workspace; # 具体不清楚,可能是程序可以打开的文件类型吧 Actions=new-empty-window; # 应该就是在收藏夹 vscode 图标上右键看到的那个选项(下图一),然后后面空行隔开的那段对应点击这个选项的操作(创建新窗口) Keywords=vscode; # 字面意思就是关键词 [Desktop Action new-empty-window] Name=New Empty Window Exec=/usr/share/code/code --new-window %F Icon=com.visualstudio.code # 其中 Exec 常用的参数有:%f %F %u %U # %f:单个文件名,即使选择了多个文件。如果已选择的文件不在本地文件系统中(比如说在HTTP或者FTP上),这个文件将被作为一个临时文件复制到本地,%f将指向本地临时文件; # %F:文件列表。用于程序可以同时打开多个本地文件。每个文件以分割段的方式传递给执行程序。 # %u:单个URL。本地文件以文件URL或文件路径的方式传递。 # %U:URL列表。每个URL以分割段的方式传递给执行程序。本地文件以文件URL或文件路径的方式传递。
然后为我这里的 pycharm 编写一个快捷方式,以 root 身份在创建文件 /usr/share/applications/pycharm.desktop,编辑内容
[Desktop Entry] Name=PyCharm Comment=Python Code Editing. Redefined. GenericName=Text Editor Exec=/home/yx/pycharm-community-2021.3.3/bin/pycharm.sh Icon=/home/yx/pycharm-community-2021.3.3/bin/pycharm.png Type=Application StartupNotify=false StartupWMClass=jetbrains-pycharm-ce Categories=TextEditor;Development;IDE; MimeType=text/plain;inode/directory;application/x-code-workspace; Keywords=pycharm;
现在就可以在系统搜索框搜到 pycharm 了
也能添加到收藏夹,方便启动运行
注:对于 Debian 系 Linux 编写快捷方式应该都通用,其它的我就不清楚了
编写 Linux 程序运行快捷方式