Você não deve estar executando o software-center como root. Você deve simplesmente iniciá-lo como seu próprio usuário. A instalação de um pacote deve solicitar uma caixa de diálogo do policykit solicitando sua senha. Isso não está acontecendo?
Eu não estou usando o Unity, então não tenho um botão prático para clicar em software-center
. Ocasionalmente, é útil procurar por software, então eu o executo a partir da linha de comando. No entanto, eu não posso realmente instalar o software através dessa interface (sem permissões). Então eu tentei sudo software-center
, esperando consertar isso. Depois de digitar minha senha na linha de comando, me é apresentada uma caixa de diálogo solicitando:
Digite a senha para o keyring 'default' para desbloquear
O que devo inserir aqui para que o software-center
seja realmente iniciado como root?
Aqui estão mais algumas informações. Estou executando o Enlightenment (E17) como meu ambiente de desktop. Os botões que aparecem na barra lateral na unidade não parecem ter um equivalente no E17, e é por isso que estou executando o software-center pela linha de comando. Quando faço isso, como eu, em vez de root, no ponto em que tento instalar algo, aparece uma mensagem de erro que diz:
Authentication Error. Software can't be installed or removed because the authentication service is not available. (org.freedesktop.PolicyKit.Error.Failed: ('system-bus-name', {'name': ':1.96'}): org.debian.apt.install-or-remove-packages
O Policykit não parece estar em execução, ou pelo menos nada que se assemelhe a esse nome aparece com "ps wux". Então eu acho que isso levanta a questão, alguém saberia como fazer isso para iniciar automaticamente quando eu logar?
Obrigado!
Você não deve estar executando o software-center como root. Você deve simplesmente iniciá-lo como seu próprio usuário. A instalação de um pacote deve solicitar uma caixa de diálogo do policykit solicitando sua senha. Isso não está acontecendo?
Você precisa do pkexec:
pkexec software-center
Dessa forma, é como se você estivesse começando a partir da GUI.
Uma boa opção é usar os dois comandos a seguir:
sudo -i #login as root
software-center #run software-center as root
Se você quiser usar pkexec software-center
como @Braiam sugerido em sua resposta , você provavelmente terá alguns erros e o comando leva a um dump principal (como @gunbert disse em este comentar ). O caminho certo para executar software-center
como root usando pkexec
é:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY software-center
E isso é normal porque man pkexec
é muito claro nesse sentido:
[...] pkexec will not allow you to run X11 applications as another user since the $DISPLAY and $XAUTHORITY environment variables are not set.[...]
Além disso, veja Por que os usuários nunca devem usar o sudo normal para iniciar aplicativos gráficos?
Tags software-center