使用 .desktop 文件运行“sudo arduino”

Jim*_*Jim 6 sudo arduino .desktop

对于亲密的选民:似乎是个骗子,但不完全是,至少不是建议的人:在链接的问题中,可以将命令安全地添加到 sudoers 文件中。在 IDE 的情况下,这是一个坏主意。

所以我从软件中心安装了arduino IDE。事情就是这样,我需要从终端运行命令“sudo arduino”,以便 arduino IDE 为我正常工作。不要误会我的意思,每当我从普通图标运行 arduino 时,它也能正常工作。如果我不使用“sudo arduino”命令打开我的 IDE(不知道为什么),我只是使用了一个无法正确编译的特定库。

由于我需要始终打开终端,我想知道是否可以创建一个 .desktop 文件(或者一个 .sh 也许?),我只需单击即可运行“sudo arduino”IDE。如果可能的话,我想避免每次都打开终端。

提前致谢!

更新 1 ---------------------------------------

我对在从终端启动 IDE 时避免使用 sudo 命令不感兴趣(所以不要写“sudo arduion”来写“arduino”)。我想要的是避免一起使用终端,并在我的桌面上有一个图标,单击该图标将运行 arduino IDE,类似于进入终端并编写“sudo arduino”。

Jac*_*ijm 5

建议这是一个骗子,假设将 Arduino 添加到 sudoers 文件是一个好主意,但事实并非如此。永远不要在 sudoers 文件中添加可能破坏系统的应用程序,或编辑代码以破坏系统,仅仅因为它存在安全风险。

在以下情况下向sudoers文件添加应用程序或脚本:

  • 无法编辑代码(存储在需要管理员权限才能写入的位置),以及

  • 该应用程序无权编辑其他应用程序或脚本的代码。

在这种情况下该怎么办

  1. 将现有.desktop文件复制到~/.local/share/applications

    cp /usr/share/applications/arduino.desktop ~/.local/share/applications
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用 gedit 打开文件:

    gedit ~/.local/share/applications/arduino.desktop
    
    Run Code Online (Sandbox Code Playgroud)

    并在文件底部添加一个部分:

    Actions=Arduino IDE with sudo;
    
    [Desktop Action Arduino IDE with sudo]
    Name=Arduino IDE with sudo
    Exec=gksu arduino
    OnlyShowIn=Unity;
    
    Run Code Online (Sandbox Code Playgroud)

现在arduino单击它时“正常”运行,但具有使用 sudo 运行的右键单击选项:

在此处输入图片说明

笔记

  • 如果还没有gksu安装(16.04上是预装的),需要先运行:

    sudo apt-get install gksu
    
    Run Code Online (Sandbox Code Playgroud)
  • 您可能需要注销 /in以使编辑的启动器生效。

或者

如果您不想将Arduino图标锁定到启动器,请将命令添加为键盘快捷键:选择:系统设置 > “键盘” > “快捷方式” > “自定义快捷方式”。单击“+”并添加命令:

gksu arduino
Run Code Online (Sandbox Code Playgroud)

到您选择的快捷方式。