Ubuntu 添加 Android Studio 快捷方式

编写快捷方式

Flutter 环境搭建好了以后,因为 Android Studio 是解压缩出来的,所以运行的话,需要在终端使用命令 studio.sh(已添加环境变量),但是会独占一个终端,而看其他软件通过快捷方式启动就没有这样的现象,所以就模仿着写了以下的内容:

ini 复制代码
[Desktop Entry]
Version=1.0
Type=Application
Name=Studio
GenericName=Android Studio
Comment=Code editor for Android
Exec=~/opt/android-studio/bin/studio.sh
Terminal=False
Icon=~/opt/android-studio/bin/studio.png
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

核心内容是

ini 复制代码
[Desktop Entry]
Type=Application
Name=Studio
Exec=~/opt/android-studio/bin/studio.sh
Terminal=False
Icon=~/opt/android-studio/bin/studio.png

再赋予执行权限 chmod +x studio.sh,点击运行后提示

快捷方式也不显示 Studio 的图片,还带个 红x。

仔细核对了路径,并没有问题,所以到底问题出在哪呢?难道真的只能终端运行 Studio.sh

看了下别人写的快捷方式,也差不多啊,只是他们使用了全路径而没有使用 ~,不至于吧?

先修改试下:

ini 复制代码
[Desktop Entry]
Version=1.0
Type=Application
Name=Studio
GenericName=Android Studio
Comment=Code editor for Android
Exec=/home/jay/opt/android-studio/bin/studio.sh
Terminal=False
Icon=/home/jay/opt/android-studio/bin/studio.png
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

哎,快捷方式正常显示了,点击也能运行了。

那么原因大概就是 Ubuntu 快捷方式中不能用 ~ 代替主目录路径,再问问 AI 为什么不能这样用,AI 的回答如下

bash 复制代码
在Linux中,"~"通常被解释为当前用户的主目录路径。然而,在快捷方式的目标字段中,系统并不会直接对路径进行解析和展开,因此无法正确地识别并替换"~"为用户主目录路径。

快捷方式是一个符号链接(symbolic link),它是一个指向其他文件或目录的特殊文件。在创建快捷方式时,系统会将目标路径保存在快捷方式文件中,而不会进行路径解析。

总结

  1. 创建用户级别的快捷方式
  2. 快捷方式中的路径使用全路径
  3. 检查运行没问题后,sudo mv Studio.desktop /usr/share/applications/ 就可以在应用程序中心看到了
相关推荐
一只积极向上的小咸鱼5 小时前
Windows中通过wsl运行Ubuntu
linux·运维·ubuntu
嵌入式分享7 小时前
嵌入式分享#41:RK3576改UART波特率【精简版】
linux·嵌入式硬件·ubuntu·嵌入式
Cyan_RA97 小时前
Linux 远程Ubuntu服务器本地部署大模型 EmoLLM 中常见的问题及解决方案 万字详解
linux·运维·服务器·ubuntu·大模型·远程部署·emollm
~光~~18 小时前
【环境配置 升级gcc】RK3588 Ubuntu20.04 gcc9升级为gcc10
ubuntu·gcc
你疯了抱抱我21 小时前
【SSH】同一局域网下windows使用Xshell SSH连接另一台 ubuntu 22.04 电脑
运维·ubuntu·ssh
2301_8184115521 小时前
Ubuntu之apt更新源
linux·运维·ubuntu
亮子AI1 天前
【Ubuntu】清理空间的几种方法
linux·运维·ubuntu
lovod1 天前
如何在ubuntu20.04配置动态壁纸和bongoCat
ubuntu·动态壁纸·bongocat
风为你而吹1 天前
【玩泰山派】4、制作ubuntu镜像-(6)使用鲁班猫的sdk去制作镜像
linux·运维·ubuntu
阿巴~阿巴~1 天前
使用 C 语言连接 MySQL 客户端(重点)
服务器·数据库·sql·mysql·ubuntu