ILD

run desktop gui application as root
作者:Yuan Jianpeng 邮箱:yuanjp89@163.com
发布时间:2024-5-23 站点:Inside Linux Development

fedora安装了2个app,putty和wireshark

点击后可以运行,但是这两个app需要以root用户运行。


图标在

/usr/share/applications下面


 编辑:sudo vim /usr/share/applications/putty.desktop

[Desktop Entry]
Name=Putty
Comment=A SSH, Telnet and Rlogin client
Exec=sh -c 'pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY putty'
Icon=putty
Terminal=false
Type=Application
Categories=Network;RemoteAccess;
StartupNotify=true
X-Desktop-File-Install-Version=0.26


把Eexec改成下面的:sh -c 'pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY putty'

说明:

pkexec是以root用户运行,类似sudo,但是它以图形化的界面,让用户输入密码。

env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY 是添加图形化运行需要的环境变量。pkexec执行程序的时候,会清空环境变量。

sh -c 'xxx' 的目的是扩展 $DISPLAY 和 $XAUTHORITY。


修改之后,退出登陆,再登入即可,点击putty的图标,让输入密码。

 

Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.