Como posso criar um novo comando “gksu” baseado no pkexec?

1

Quando eu pesquiso no Google "gksu gedit" uma das principais entradas ( Como executar gedit e nautilus como root ) informa que gksu usage foi desaprovado:

  

O gksu não é atualizado desde 2009 e não é recomendado mais. Dentro   fato, o Ubuntu não vem mais com o gksu por padrão (embora possa ser   instalado para muitos de vocês, porque alguns aplicativos ainda dependem dele) e   pode até ser completamente removido em algum momento.

Um link para AskUbuntu ( Porque é que o gksu não mais instalado por padrão? ) sugere que pkexec deve ser usado, mas não fornece etapas claras e concisas para fazer isso.

Como posso usar o pkexec dentro de um novo script de shell do wrapper chamado gsu que suporta tanto gedit quanto nautilus ?

Eu sinto que um script wrapper chamado gsu é mais apropriado porque minha "memória muscular" é digitar gksu o tempo todo e não quero digitar pkexec .

Além disso, gostaria que essas mensagens de aviso desagradáveis gtk desaparecessem. Também gostaria que o terminal voltasse imediatamente, em vez de esperar que o editor ou o gerenciador de arquivos terminasse.

Duplicatas do AU: Pesquisei muitos Q & amp; A, mas nenhum deles está pedindo (ou oferecendo como) uma solução completa para o script gsu do wrapper chamar pkexec AND instalar todos os kits de política e se livrar de avisos gtk traquinas e obter terminal imediatamente de volta ... Tudo em uma resposta.

    
por WinEunuuchs2Unix 10.11.2016 / 12:49

1 resposta

2

Antes de poder usar pkexec com gedit e nautilus , você precisa copiar as regras do polkit para suportá-las. Isso será feito automaticamente no Ubuntu 17.04, mas nesse meio tempo você precisará wget deles.

Kit de políticas do Nautilus

wget https://raw.githubusercontent.com/hotice/webupd8/master/org.gnome.nautilus.policy -O /tmp/org.gnome.nautilus.policy
sudo cp /tmp/org.gnome.nautilus.policy /usr/share/polkit-1/actions/

Kit de política de Gedit

wget https://raw.githubusercontent.com/hotice/webupd8/master/org.gnome.gedit.policy -O /tmp/org.gnome.gedit.policy
sudo cp /tmp/org.gnome.gedit.policy /usr/share/polkit-1/actions/

script "gsu" bash para substituir "gksu"

Criar um script bash é uma das duas maneiras de chamar pxexec usando o termo familiar de gsu . Crie este arquivo em um dos seus caminhos:

#!/bin/bash

# Usage: gsu gedit file1 file2...
#  -OR-  gsu natuilus /dirname

# & is used to spawn process and get prompt back ASAP
# > /dev/null is used to send gtk warnings into dumpster

COMMAND= # extract gedit or nautilus

pkexec "$COMMAND" "${@:2}" &> /dev/null&

Salve o arquivo e marque-o como executável com chmod +x gsu

Agora, em vez de digitar gksu para editar a configuração do grub, você pode usar:

gsu gedit /etc/default/grub

"gsu" como um alias de "pkexec" para substituir "gksu"

A criação de um alias é a segunda opção para chamar pxexec usando o termo familiar de gsu . Abra o arquivo ~/.bashrc e procure por alias . Você verá isso:

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

Após a última linha, adicione isto:

alias gsu='pkexec'

Salve o arquivo e saia.

    
por WinEunuuchs2Unix 10.11.2016 / 12:49