我正在使用 KDE 和 Kate 编辑器。当我想要编辑一些常见的系统文件(例如 /etc 中的配置)时,系统会要求我输入密码来保存编辑。
当我编辑文件时,我经常会进行多次更改,然后想保存文件并继续进行更改。问题是,第一次文件保存后,权限没有“缓存”。每次更改都需要重新输入密码!这很烦人。
不久前,我有一个配置,只需输入密码一次,然后我就可以编辑和保存文件,而无需任何额外的密码对话框。但那是几年前的事了,所以我不知道这是在源代码中更改的还是在系统中专门配置的。
现在我找不到有关此的说明。有可能再次出现这样的行为吗?我已经发现这主题,但看起来他们只是完全禁用密码保护。
答案1
我找到了一种解决方法,仍然允许您以 root 身份启动 kate。
首先,将原始 kate 桌面文件复制到用户的本地位置:
cp /usr/share/applications/org.kde.kate.desktop ~/.local/share/applications/org.kde.kate_as_root.desktop
然后替换Exec=kate -b %U
为以下内容:
Exec=if [ "$XDG_SESSION_TYPE" = "wayland" ]; then xhost +si:localuser:root && pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch kate -b %U && xhost -si:localuser:root ; else pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true kate -b %U; fi;
并将名称设置为“Kate as root”以方便起见。另外,InitialPreference
从 9 更改为较低的值(在我的例子中为 8),以便以根变体打开的优先级低于正常操作打开的优先级,因此当您左键单击文件时,它会正常打开。
我的文件内容~/.local/share/applications/org.kde.kate_as_root.desktop
是(不包括翻译):
[Desktop Entry]
GenericName=Advanced Text Editor
Name=Kate as root
Comment=KDE Advanced Text Editor
MimeType=text/plain;
Exec=if [ "$XDG_SESSION_TYPE" = "wayland" ]; then xhost +si:localuser:root && pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true dbus-launch kate -b %U && xhost -si:localuser:root ; else pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true kate -b %U; fi;
StartupNotify=true
X-KDE-HasTempFileOption=true
Icon=kate
X-DocPath=kate/index.html
Type=Application
Terminal=false
InitialPreference=8
X-DBUS-StartupType=Multi
X-DBUS-ServiceName=org.kde.kate
Categories=Qt;KDE;Utility;TextEditor;
StartupWMClass=kate
现在在 kate 中,当您处于没有权限编辑文件的情况时,您可以转到文件 -> 打开方式 -> “Kate as root”。在对话框中输入密码,您将看到新的 kate 窗口,您不再需要在其中输入密码。
此外,您可以右键单击 dolphin 中的文件,然后选择“打开方式”->“Kate as root”。
答案2
Kate 被更改为在每次保存操作后都需要输入密码,而不是像以前那样记住五分钟。