我正在运行带有 KDE Plasma 桌面 5.27 的 Debian 12,我的问题是每次打开应用程序时,它都不允许我以 sudo 身份执行操作,或者权限设置不正确。
例如,当我打开 Dolphin 文件管理器时,我可以读取、写入和修改主文件夹中的文件,但如果我转到根文件夹,则无法写入或修改文件。我必须打开终端,使用 sudo 命令在根文件夹中创建一个文件。但我希望能够使用 Dolphin 执行这些任务。
另一个例子是 KDE 分区管理器。打开它时,我可以看到我的所有设备,但如果我尝试格式化我的 USB 驱动器,我实际上无法执行任何操作。所有选项都呈灰色,分区旁边有一个锁。
有没有什么办法可以让我以 sudo 身份打开应用程序并允许它们具有 sudo 访问权限,这样我就不必去终端来完成这些任务?
答案1
例如,当我打开 Dolphin 时,我可以读取、写入和修改主文件夹中的文件,但如果我进入根文件夹,则无法写入或修改文件。我必须打开终端,使用 sudo 命令在根文件夹中创建一个文件。但我希望能够使用 Dolphin 执行这些任务。
打开 使用 KIO 的“以管理员身份访问”功能admin:/
。(这通常作为单独的kio-admin
软件包提供;它应该适用于所有“KDE 原生”应用程序。GNOME(GTK)应用程序中也存在同样的功能,无需单独安装。)
另一个例子是 KDE 分区管理器。当我打开它时,我可以看到我的所有设备,但如果我尝试格式化我的 USB,我实际上没有选择执行任何操作。所有选项都呈灰色,分区旁边有一个锁
那个特定的锁意味着分区已被安装;它与权限无关。
答案2
不要进行永久性更改以始终以超级用户(root用户)身份打开应用程序,因为正如其他人所说,这会破坏 Linux 固有的安全性。
反而,需要时,使用打开应用程序须藤。这似乎是一个额外的步骤,但为了避免反恶意软件在后台持续运行,这是值得的,因为这是另一个流行的操作系统所需要的。
例如,运行以超级用户身份进行 gedit,打开终端并输入sudo gedit
。完成后关闭 gedit 实例。“以 root 用户身份编辑文件具有潜在危险,可能会严重破坏您的系统。”
这Dolphin 文件管理器具有内置检查以防止疏忽大意造成伤害。话虽如此,我承认这种做法很冒险(并制作磁盘映像以防万一)。电脑调频是另一个文件管理器做不是启动 sudo 时抱怨...但它可能会破坏某些功能。操作员需谨慎!
至于无法对驱动器进行更改,如果驱动器已安装,则某些操作禁止。这就像在驾驶汽车时试图更换分电器盖一样。第一的卸载,然后调整。
答案3
帖子 如何在不使用终端的情况下以 root 用户身份运行程序 有以下内容 Radu Rădeanu 的回答 可以帮助解决你的问题:
如果您想在不使用终端的情况下运行程序,我可以推断您指的是 GUI 程序。并且所有这些 GUI 应用程序中的每一个通常都有一个位于
/usr/share/applications/
或位于您的用户目录中的 .desktop 文件~/.local/share/applications
。因此,要以 root 身份启动程序,您必须编辑或最好复制其关联的 .desktop 文件。让我们举个例子编辑,Ubuntu 中的默认 GUI 编辑器。其 .desktop 文件为
/usr/share/applications/gedit.desktop
,内容如下:[Desktop Entry] Name=gedit GenericName=Text Editor Comment=Edit text files Exec=gedit %U Terminal=false Type=Application StartupNotify=true MimeType=text/plain; Icon=accessories-text-editor Categories=GNOME;GTK;Utility;TextEditor; X-GNOME-DocPath=gedit/gedit.xml X-GNOME-FullName=Text Editor X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=gedit X-GNOME-Bugzilla-Component=general X-GNOME-Bugzilla-Version=3.10.4 X-GNOME-Bugzilla-ExtraInfoScript=/usr/share/gedit/gedit-bugreport Actions=Window;Document; Keywords=Text;Editor;Plaintext;Write; X-Ubuntu-Gettext-Domain=gedit [Desktop Action Window] Name=Open a New Window Exec=gedit --new-window OnlyShowIn=Unity; [Desktop Action Document] Name=Open a New Document Exec=gedit --new-document OnlyShowIn=Unity;
现在创建该文件的副本如下:
sudo cp /usr/share/applications/gedit.desktop /usr/share/applications/root_gedit.desktop
并做以下更改:
[Desktop Entry] Name=gedit as root GenericName=Text Editor as root Comment=Edit text files Exec=gksudo gedit %U Terminal=false Type=Application StartupNotify=true MimeType=text/plain; Icon=accessories-text-editor Categories=GNOME;GTK;Utility;TextEditor; X-GNOME-DocPath=gedit/gedit.xml X-GNOME-FullName=Text Editor X-GNOME-Bugzilla-Bugzilla=GNOME X-GNOME-Bugzilla-Product=gedit X-GNOME-Bugzilla-Component=general X-GNOME-Bugzilla-Version=3.10.4 X-GNOME-Bugzilla-ExtraInfoScript=/usr/share/gedit/gedit-bugreport Actions=Window;Document; Keywords=Text;Editor;Plaintext;Write; X-Ubuntu-Gettext-Domain=gedit [Desktop Action Window] Name=Open a New Window Exec=gksudo gedit --new-window OnlyShowIn=Unity; [Desktop Action Document] Name=Open a New Document Exec=gksudo gedit --new-document OnlyShowIn=Unity;
gedit
此后,当您在 Dash 中搜索时,您将看到两个 gedit 实例:一个名为文本编辑器和一个以 root 身份编辑文本你应该打开那个名为以 root 身份编辑文本如果您想以 root 身份运行 gedit。笔记:
gksudo
必须安装才能使用它。如果你还没有安装,你可以从终端使用以下命令安装它:sudo apt-get install gksudo