关于Linux系统程序安装位置及桌面图标添加的技术咨询
关于Linux系统程序安装位置及桌面图标添加的技术咨询
别担心,这绝对不是傻问题!很多刚接触Linux命令行的朋友都会遇到这类困惑,我来一步步帮你理清~
一、命令行安装的程序到底在哪?
这个得分两种安装方式来看:
- 用系统包管理器(比如apt、dnf、yum)安装的程序:这类程序一般会被放到系统默认的路径里,比如
/usr/bin、/usr/sbin,这些路径默认已经加入了系统的环境变量$PATH,所以你直接在终端输入程序名就能运行,不用特意找路径。如果想知道具体位置,用这两个命令就行:which 程序名:只会返回程序的可执行文件路径,比如which firefoxwhereis 程序名:除了可执行文件,还会返回程序的手册、配置文件等相关路径
- 源码编译安装的程序:默认情况下会安装到
/usr/local目录下(可执行文件在/usr/local/bin,库文件在/usr/local/lib)。如果你找不到这个目录,大概率是文件管理器默认没显示系统根目录下的文件夹——你可以打开文件管理器,找到“计算机”或“根目录(/)”,进去就能看到usr文件夹,打开它就有local了;或者直接在终端输入cd /usr/local,能正常进入就说明目录肯定存在~
要是上面的方法都找不到,还可以用全局搜索命令排查:sudo find / -name "程序名",不过这个命令会遍历整个系统,可能有点慢,耐心等就行。
二、怎么给程序添加桌面图标?
Linux的桌面图标本质是.desktop格式的配置文件,操作起来不难:
- 先找到程序的可执行文件路径,用刚才说的
which 程序名就能拿到,比如/usr/bin/myapp - 新建一个
.desktop文件:- 如果你只想给自己的用户添加,就在
~/.local/share/applications/目录下创建,比如用终端命令:nano ~/.local/share/applications/myapp.desktop - 想让所有用户都能用,就去
/usr/share/applications/目录创建,不过需要加sudo,比如sudo nano /usr/share/applications/myapp.desktop
- 如果你只想给自己的用户添加,就在
- 把下面的模板内容填进去,替换成你自己的信息:
[Desktop Entry] Type=Application Name=MyApp # 这里填程序的显示名称,比如“截图工具” Exec=/usr/bin/myapp # 替换成刚才找到的可执行文件路径 Icon=/usr/share/icons/hicolor/48x48/apps/myapp.png # 图标路径,要是不知道在哪,直接写程序名试试,系统会自动搜索自带图标 Comment=快速截取屏幕内容 # 鼠标悬停在图标上显示的说明 Terminal=false # 程序不需要终端运行就设为false,需要的话设为true Categories=Utility;Graphics; # 程序分类,比如办公写Office,工具写Utility,多个分类用分号隔开
- 保存退出后,给这个文件加可执行权限:
- 个人用户的话:
chmod +x ~/.local/share/applications/myapp.desktop - 全局的话:
sudo chmod +x /usr/share/applications/myapp.desktop
- 个人用户的话:
- 最后,你可以去系统的应用菜单里搜索程序名称,找到后直接拖到桌面;或者把这个
.desktop文件复制到你的桌面目录(~/Desktop/),同样要确保它有可执行权限哦。
要是你用包管理器安装的是图形界面程序,很多时候系统会自动生成.desktop文件,直接去应用菜单里搜搜看,说不定已经存在了~
备注:内容来源于stack exchange,提问作者Sundance2014




