Por que o gksu não é mais instalado por padrão?


99

Eu sempre recomendei pressionar ALT+ F2e digitar, por exemplo, gksu nautilusou gksudo nautilusambos são equivalentes; executar programas gráficos com privilégios de root . No entanto, acabei de instalar o raring em um sistema de teste e isso não funciona mais.

gksue gksudonão são instalados como parte de uma instalação padrão de raring; embora eles estejam nos repositórios. Na versão 12.04, pelo menos, gksudohavia apenas um link simbólico paragksu

As razões pelas quais sempre fiz isso são porque, embora geralmente seja seguro usá-lo sudosob algumas circunstâncias, pode causar problemas com aplicativos gráficos, porque gksuvocê executa o programa como root enquanto sudoexecuta o mesmo, mas com privilégios elevados.

Isso pode significar que você altera inadvertidamente o proprietário dos arquivos críticos do sistema. Isso pode causar problemas.

Esse raciocínio é explicado melhor aqui:

Por que o comando foi removido de uma nova instalação e o que devemos usar?



4
Como um esclarecimento, gksudoe nãogksu são idênticos, mesmo que um seja um link simbólico para outro (o programa detecta como foi iniciado). Há uma diferença sutil que, em casos raros, pode levar à perda de arquivos de sistema selecionados. Portanto, até você começar a usar , sempre use em vez de . pkexecgksudogksu
Paddy Landau

1
@PaddyLandau Eu gosto de muitos outros aqui sempre 'gksu` e gksudoera o mesmo ver Qual é a diferença entre gksudo e gksu? . Você pode adicionar uma resposta a essa pergunta que explica a diferença, por favor; ou dê-nos um link para um site que o explique para que um de nós possa.
Warren Hill

2
Vale notar que nenhuma das respostas até agora explica por que o gksu não é mais instalado por padrão, que é a pergunta real.
MestreLion

3
@MestreLion. O motivo de gksuparar de ser instalado por padrão é que os desenvolvedores acham que o polkit é a melhor maneira de controlar privilégios. Então, eles foram migrando aplicativos gradualmente para usá-lo. gksuera apenas parte da instalação padrão porque outros aplicativos dependiam dela. Como nada em uma instalação padrão depende gksuou gksudonão é mais usado como uma dependência.
Warren Hill

Respostas:


68

Após uma longa discussão sobre o # ubuntu-devel, agora entendo o pensamento.

O gksu pode ser instalado no 13.04 com sudo apt-get install gksue funcionará.

Se você decidiu instalar o gksu e está usando a versão de 64 bits, será necessário executar gksu-propertiesuma vez para definir a autenticação como sudo. Não é necessário fazer isso em 32 bits, pois está definido como sudo por padrão.

No entanto, o gksu não é mais recomendado e pode ser removido inteiramente de edições futuras do Ubuntu. Em geral, a equipe de desenvolvimento prefere que não usemos aplicativos da GUI como raiz, mas que use o sudo e a linha de comando.

A longo prazo, o pkexec é preferido, no entanto, não é muito fácil de usar no momento.

O pkexec permite que um usuário autorizado execute PROGRAM como outro usuário. Se o nome de usuário não for especificado, o programa será executado como o superusuário administrativo, root.

consulte a página do manualman pkexec para obter mais informações.

Enquanto isso, você pode abrir um terminal CTRL+ ALT+ Tou procurar um terminal no painel.

Não feche o terminal até terminar, isso é importante, pois o programa GUI é filho do terminal e, se você o fechar, o programa GUI também será fechado.

Entrar sudo -i

Agora você está logado como root para poder fazer as alterações desejadas, por exemplo

gedit path_to_file 

para editar um arquivo de configuração ou

nautilus 

executar o gerenciador de arquivos

Quando terminar, feche o aplicativo GUI e, em seguida, no terminal

exit

Agora você pode fechar o terminal.


58
Dizendo aos usuários utilizar a linha de comando em vez de executar aplicações gráficas como root não vai ir mais além com o Windows converte ...
Seth

4
@seth what, eles têm prós e poderes agora, certo? Bem-vindo ao futuro retro-futurista, agora com mais cli.
Belacqua

4
A propósito, você pode anular a questão "fechar o terminal mata todos os programas gerados" iniciando o programa com o &sufixo, para que ele funcione como um processo em segundo plano e depois faça o disown %1bash - ou qualquer número de trabalho que seja o programa. Então você pode fechar com segurança o terminal. Então, poderia ser algo como: #sudo my-program &;disown %1;exit;
Chuck R

18
However gksu is not recommended any more and it may be removed entirely.... Gostaria de elaborar o porquê ?
MestreLion

3
Mais sobre o Windows, usá-lo é apenas ... Lento. Tudo sobre isso é lento. A maneira como você faz as coisas, a desculpa ruim para um terminal, a instalação de software, a inicialização e o desligamento, a remoção de softwares, a digitação de comandos, a tentativa de shell script, uma tarefa que eu posso realizar em 5 segundos no Linux, pode levar até 10 minutos nas janelas. Ineficiente é um eufemismo. O fato de eu sentir que tenho mais controle no os x, ou no meu telefone Android, realmente diz algo sobre as opções de design do Windows.
Braden Melhor

9

Acabei de instalar o 13.04: GKSU já está instalado ...


Acabei de verificar ..... está instalado .......
Qasim

1
Eu estava indo para fazer um comando sobre esta resposta, mas levou um segundo para verificar se gksu estava lá. Isto é. Até instalei um novo 13.04 de 64 bits e ele também estava lá.
Luis Alvarado

1
Acabei de verificar novamente no meu sistema. Ainda não existem esses tópicos nos fóruns do Ubuntu aqui e aqui . Talvez tenha sido adicionado a uma atualização recente ou é possível que você a tenha adquirido instalando outra coisa?
Warren Hill
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.