Execute o “sudo arduino” com o arquivo .desktop

5

Para os eleitores mais próximos: aparentemente um ingênuo, mas não completamente, pelo menos não do sugerido: na questão vinculada, os comandos podem ser adicionados com segurança ao arquivo sudoers. No caso de um IDE, é uma má ideia.

Então eu instalei o arduino IDE do centro de software. Aqui está a coisa, eu preciso executar o comando "sudo arduino" do terminal, para o arduino IDE funcionar corretamente para mim. Não me entenda mal, sempre que eu executar o arduino a partir do seu ícone normal, ele também funciona bem. Eu estou apenas usando uma biblioteca específica que não compilar corretamente se eu não usar o comando "sudo arduino" para abrir o meu IDE (não sei por que).

Como preciso sempre abrir o terminal, fiquei me perguntando se é possível criar um arquivo .desktop (ou um .sh talvez?) que eu possa apenas clicar e executar o IDE "sudo arduino". Eu quero evitar abrir o terminal toda vez, se possível.

Obrigado antecipadamente!

Update 1 ---------------------------------------

Não estou interessado em apenas evitar usar o comando sudo ao iniciar o IDE a partir do terminal (assim, em vez de escrever "sudo arduion" para escrever "arduino"). O que eu quero é evitar o uso do terminal todos juntos, e ter um ícone na minha área de trabalho que, quando clicado, executará o arduino IDE de forma semelhante a entrar no terminal e escrever "sudo arduino".

    
por Dimitris Pantelis 07.05.2016 / 23:22

2 respostas

4

A sugestão é que o dupe assume que adicionar o Arduino ao arquivo sudoers é uma boa ideia, o que não é. Nunca adicione uma aplicação que potencialmente estrague seu sistema, ou edite código para arruinar seu sistema para o arquivo sudoers, simplesmente porque isso é um risco de segurança.

Apenas adicione aplicativos ou scripts ao arquivo sudoers se:

  • o código não pode ser editado (armazenado em um local que requer permissão do administrador para escrever), e

  • o aplicativo não tem a potention para editar o código de outros aplicativos ou scripts.

O que fazer neste caso

  1. Copie o arquivo .desktop existente para ~/.local/share/applications :

    cp /usr/share/applications/arduino.desktop ~/.local/share/applications
    
  2. Abra o arquivo com o gedit:

    gedit ~/.local/share/applications/arduino.desktop
    

    e adicione uma seção na parte inferior do arquivo:

    Actions=Arduino IDE with sudo;
    
    [Desktop Action Arduino IDE with sudo]
    Name=Arduino IDE with sudo
    Exec=gksu arduino
    OnlyShowIn=Unity;
    

Agora, arduino é executado "normalmente" quando você clica nele, mas tem a opção de clicar com o botão direito para executar com o sudo:

Notas

  • Sevocênãotemogksuinstalado(no16.04,eleestápré-instalado),vocêprecisaexecutarprimeiro:

    sudoapt-getinstallgksu
  • Vocêprovavelmenteprecisarásair/inparaqueoinicializadoreditadosejaeficaz.

Alternativamente

SevocênãoquiserqueoíconeArduinoestejabloqueadonoinicializador,adicioneocomandocomoumatalhodeteclado:escolha:Configuraçõesdosistema>"Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione o comando:

gksu arduino

para um atalho de sua escolha.

    
por Jacob Vlijm 08.05.2016 / 17:04
1

Copie o arquivo .desktop e edite a cópia com o gedit (ou qualquer editor de texto), isto é, abrindo o editor e soltando o arquivo na janela do editor. Você verá uma linha começando com Exec= , algo como Exec=/path/arduino . Essa linha precisa ser modificada de acordo e salvar as alterações.

Se você quiser ler mais sobre os arquivos da área de trabalho, recomendo:

Pergunta: Criando arquivos .desktop - Apenas algumas perguntas
Especificação de arquivos da área de trabalho: link

Comece com os direitos do sudo digitando uma senha

Instale o gksu usando o comando sudo apt-get install gksu . Agora, use gksu em vez de sudo ( Exec=gksu /path/arduino ) e você será solicitado com um campo de entrada de senha como o gparted, quando estiver iniciando por meio do arquivo da área de trabalho.

    
por verpfeilt 08.05.2016 / 16:50