Como iniciar o aplicativo como root no Unity Launcher?

72

Principalmente, estou procurando uma maneira de fixar um aplicativo na barra de inicialização do Unity e executá-lo como root.

Atualmente, mesmo se eu iniciar o aplicativo com o sudo e fixá-lo depois que ele for iniciado, ele será iniciado como usuário atual na próxima vez.

Triste, mas não há opção de menu de contexto "executar como ...".

Atualizar : mudei para o gnome3 e agora estou feliz, estou perdendo apenas a pesquisa.

    
por sorin 04.04.2012 / 12:05

6 respostas

83

Se você quiser que o aplicativo seja sempre executado como root

  1. Fixar o aplicativo no lançador normalmente.

  2. Localize o arquivo .desktop das aplicações que estará em:

    • /usr/share/applications/APPNAME.desktop
    • ~/.local/share/applications/APPNAME.desktop
    • ou em outro lugar, use locate .desktop|grep APPAME
  3. Abra com o gedit:

    gksudo gedit /usr/share/applications/APPNAME.desktop
    
  4. Em seguida, mude a linha

    Exec=APP_COMMAND
    

    para

    Exec=gksudo -k -u root APP_COMMAND
    
  5. Salvar

Este comando também manterá seu ambiente que é muito útil se você precisar se conectar a outros servidores e usar sua chave privada.

Para adicionar uma opção de lista rápida a "Executar como root"

Siga os passos 1, 2 e 3 acima

Se o lançador não tiver outras opções de lista rápida, basta anexá-lo ao final do documento

X-Ayatana-Desktop-Shortcuts=Runroot

[Runroot Shortcut Group]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
TargetEnvironment=Unity
    
por edm 04.04.2012 / 13:53
4

No menu principal, em Sistema, Preferências, digite gksudo no campo Comando das Propriedades do Iniciador, por exemplo:

/usr/bin/gksudo /usr/bin/yourapplication

Seu campo Nome pode dizer:

  

sudo yourapplication

Assim, os usuários sabem que podem ver um pop-up de senha e por que ...

Não tenho certeza sobre o Unity Launcher vs Main Menu. Talvez isso ajude?

Boa sorte

    
por boolship 20.04.2012 / 04:40
2

O seguinte parece fazer a mesma coisa, sem precisar de atributos privados:

Actions=Runroot;Another

[Desktop Action Runroot]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND

[Desktop Action Another]
Name=Another action
Exec=whatever
    
por Daniel 24.06.2012 / 22:50
2

Como uma alternativa rápida e simples às demandas pesadas descritas nas respostas aqui, eu tenho o hábito de fazer o seguinte ...

  1. Inicie um novo terminal.
  2. Digite gksu nautilus

    ( sudo -i nautilus funciona também.)

A janela resultante fica sob o guarda-chuva sudo, para que você possa usá-la para acessar e iniciar arquivos com privilégios sudo-root para o conteúdo do seu coração até que ele seja fechado. Isso é útil para situações transitórias em que você não precisa de uma solução mais permanente. Eu uso rotineiramente para extrair arquivos compactados em pastas protegidas do sistema, por exemplo.

    
por Syndog 20.02.2014 / 16:41
1

Im postando isso em resposta à pergunta @ Chris perguntou nos comentários:

Suponha que você queira criar um lançador que abra "gerenciador de arquivos (nautilus)" como root. Então você pode fazer isso:

Abra o terminal. Tipo:

sudo -H gedit /usr/share/applications/nautilus_root.desktop

Pressione Enter. Quando solicitado, digite sua senha de login e pressione Enter. Isto irá abrir o gedit (editor de texto). Agora cole o seguinte:

[DesktopEntry]
Encoding=UTF-8
Name=Nautilus(Root)
Comment=FileManager
Exec=gksu nautilus
Icon=file-manager
Categories=System;
Type=Application
Terminal=0

Agora, basta salvá-lo e sair. Você terminou. Agora, se você pesquisar no dash, você encontrará um novo lançador "Nautilus (Root)". Clicando nessa opção, você perguntará a senha e, na autenticação, o nautilus será aberto como root.

Nota: Tenha cuidado quando estiver executando o "Nautilus (Root)". Neste modo, você pode excluir quase qualquer coisa de / e quebrar o sistema.

    
por Curious Apprentice 24.03.2013 / 11:18
0

Isso talvez seja um comentário sobre a solução de Daniel. Isso funciona para mim, mesmo no Ubuntu 15.04. Eu tive que colocar o comando entre aspas Exec=gksu "nautilus --new-window" por causa do argumento extra. Além disso, de alguma forma, eu não sei porque, eu tive que editar o lançador diretamente, a fim de manter o menu original (juntamente com a nova opção). Se você arrastar seu próprio lançador, ele será registrado, mas você não terá o mesmo menu.

No Ubuntu 15.04, o lançador do nautilus é usr/share/applications/org.gnome.Nautilus.desktop . Você tem que usar a linha de comando para ver o nome real do arquivo.

Mais pesquisas me levam ao que eu acredito ser uma opção melhor: link . Em vez de abrir o Nautilus inteiramente como Root, isso permite que você abra diretórios selecionados como Root dentro do Nautilus. De qualquer forma, verifiquei e essas duas opções são compatíveis. Se você abrir o Nautilus como Root e, em seguida, usar a segunda opção para abrir um diretório como Root, ele simplesmente será aberto sem solicitar a senha.

    
por Dominic108 03.10.2015 / 13:19

Tags