Executando o software-center pela linha de comando como raiz

3

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!

    
por Iestyn ap Mwg 07.01.2014 / 22:23

3 respostas

6

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?

    
por mdeslaur 08.01.2014 / 02:32
0

Você precisa do pkexec:

pkexec software-center

Dessa forma, é como se você estivesse começando a partir da GUI.

    
por Braiam 07.01.2014 / 22:39
0

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?

    
por Radu Rădeanu 08.01.2014 / 00:38