如何永久修改Unity快捷方式配置以实现Root权限启动应用?
解决Unity快捷方式修改后重启恢复的问题
嘿,这个问题我碰到过好几次了,确实挺烦人的——每次重启都要重新改配置,太折腾了。咱们来一步步解决它:
方法一:将修改后的配置移到系统级目录
用户目录下的.desktop文件有时候会被应用更新或者系统重置覆盖,把它放到系统级目录就能避免这个问题:
- 先备份系统默认的配置文件(以防万一):
sudo cp /usr/share/applications/APPNAME.desktop /usr/share/applications/APPNAME.desktop.bak - 把你修改好的用户版配置复制到系统目录:
sudo cp ~/.local/share/applications/APPNAME.desktop /usr/share/applications/ - 修正文件权限(确保系统能正确读取):
sudo chmod 644 /usr/share/applications/APPNAME.desktop - 更新桌面应用数据库:
update-desktop-database /usr/share/applications/
方法二:创建自定义的Root启动快捷方式
如果不想改动系统级文件,可以创建一个全新的快捷方式,命名和原文件区分开,这样就不会被默认配置覆盖:
- 在
~/.local/share/applications/下新建一个文件,比如APPNAME-root.desktop - 写入以下内容(根据你的应用调整路径和名称):
[Desktop Entry] Name=APPNAME (Root) Comment=Launch APPNAME with root privileges Exec=pkexec /full/path/to/your/application Icon=APPNAME-icon Terminal=false Type=Application Categories=Utility; - 保存后赋予执行权限:
之后你就能在Unity启动器里找到标有“(Root)”的快捷方式,而且它不会被重置。chmod +x ~/.local/share/applications/APPNAME-root.desktop
方法三:给配置文件添加只读锁(Immutable属性)
如果确定是应用或系统在自动重置你的用户目录下的配置,可以给文件加个“不可修改”的属性:
- 先确保你已经保存好修改后的
APPNAME.desktop文件 - 执行命令添加锁:
chattr +i ~/.local/share/applications/APPNAME.desktop - 以后如果需要修改这个文件,先去掉锁:
chattr -i ~/.local/share/applications/APPNAME.desktop
额外注意事项
- 如果你用
pkexec启动应用,有些程序可能需要配置PolicyKit规则才能正常运行(避免输入密码后没反应),可以参考PolicyKit的官方文档配置对应的.policy文件 - 如果你习惯用
gksu,Ubuntu 18.04及以后版本需要先安装:sudo apt install gksu
内容的提问来源于stack exchange,提问作者Honza
相关产品推荐
相关产品推荐

