如何为 Sudo 命令制作 .desktop 启动器来执行 GfxTablet 程序?

如何为 Sudo 命令制作 .desktop 启动器来执行 GfxTablet 程序?

我是新手,一直在尝试找到一种方法来为 sudo 命令创建一个 .desktop 图标以打开名为 GfxTablet 的程序,但无法获得任何实际有效的信息。

我尝试过的所有命令都无法启动 tilix 终端和输入命令,我已经制作了许多 .desktop 文件来启动程序,但从来没有在 sudo 或非 sudo 中执行命令行。

我所知道的是,Exec 行必须精确地指示执行操作。如果我尝试启动默认终端,例如键入 Exec 行以声明 Exec=tilix,则什么也不会发生,但如果我进入 UXterm 并键入 tilix,然后按回车键,它就会打开,我尝试将默认终端更改为此 disco dingo 19.04 版本上的 3 或 4 个终端之一,但如果我在编写 .desktop 启动器时包含文件夹位置后跟文件名,则无法从 Exec= 行启动。

我使其可执行并通过右键单击打开“运行软件”选项来运行,甚至将 .desktop 文件拖入 tilix 并按回车键。

我想要启动的文件,我不知道它是什么文件类型,也不知道如何找到该文件类型扩展名,因为我已经通过右键单击完成了属性,但没有给出文件类型的名称,或者右键单击选择查看其位置的选项以查看它的路径,也没有给出文件扩展名的指示。

我想要制作此 .desktop 启动器的文件的路径如下:

/home/pc/GfxTablet/驱动程序输入/网络平板电脑

我需要启动的文件名如下:

网络平板电脑

启动该应用程序可在所有终端上运行,如果输入启动命令,则如下所示:

sudo./networktablet

我已经花了 36 个小时试图弄清楚,我一直在网上获取一些间歇性的帮助,但都失败了,这让我发疯了,我希望它将图标添加到 docky dock 中,因为我正在制作我自己的定制分发版。

但是,当完全定制后,如果需要的话,我想在某个阶段将它传输到其他机器上,因此我需要在完成后将它保存为系统备份,以便以简单的方式完成所有准备就绪的操作,我希望在重新安装或安装到任何机器时将它放在 Dock 上,并且可以通过简单地单击它的图标轻松地从 Dock 在任何机器上访问它,而不是总是通过终端输入它来启动,我必须先单击并打开,如果我想添加更多命令行来打开一次单击而不是打开命令 shell 然后输入它,我也希望将它们放在应用程序搜索中,这意味着它们需要是 .local/share/applications 文件夹中的 .desktop 文件,这是我在制作其他启动器时学到的很多东西。

请问有人能帮帮我吗?我几天前才开始使用 Linux,但是对 Windows 很熟悉,虽然命令行比较好,但其他方面我都熟悉,我只是彻底切换了操作系统,我更喜欢 ubuntu 操作系统的安全性、速度和流畅性。

我希望能得到一些帮助,这样在我把头发全部拔掉之前,我就能保持头发原样了,哈哈

提前致谢

答案1

在以前的 Ubuntu 版本中,答案很简单:gksudo在启动器的“Exec=”行中使用。在启动实际程序之前,它会提供一个图形对话框来输入用户的密码。但是,“gksudo”不加区分地允许特权用户以 root 身份运行任何图形程序,现在已弃用此功能。它已被取代pkexec,除了要求输入密码外,它还会首先检查您是否尝试运行明确允许以 root 身份运行的程序。此外,默认情况下,它永远不会允许图形程序完全以 root 身份运行。但是,仍然可以容纳设计为完全以 root 身份运行的旧图形程序。

man pkexec解释如何以 root 身份运行自定义可执行文件。

  1. 根据您在中找到的模板创建一个操作文件man pkexec(参见示例)。提供您自己的操作文件<action id=并更改<annotate key="org.freedesktop.policykit.exec.path">为可执行文件的完整命令。您也可以选择采用图标、描述、供应商信息等参数。

  2. 将文件放入目录中/usr/share/polkit-1/actions

在 .desktop 启动器中,在可执行文件的完整命令前加上pkexec。如果一切顺利,单击启动器将显示一个对话框,要求您输入密码,以及文件中指定的消息。

如果命令提供了您希望看到的终端输出,则在 .desktop 文件中包含一行“Terminal=true”。这样,只要命令正在运行,该命令就会在终端中启动,并且终端将保持打开状态。

相关内容