Como instalo este script como root no terminal: ./qt-opensource-linux-x64-5.3.2.run?

Como instalo este script como root no terminal: ./qt-opensource-linux-x64-5.3.2.run?

Preciso instalar o qt5 no meu sistema e só posso executá-lo como usuário normal. Quando tento executá-lo como "superusuário", recebo este erro:

root ~ # ./qt-opensource-linux-x64-5.3.2.run 
No protocol specified
qt-opensource-linux-x64-5.3.2.run: cannot connect to X server :0.0

Eu fiz:

root ~ # export DISPLAY=:0.0
root ~ # echo $DISPLAY
:0.0

Ainda sem sorte.

Questões:

Existe uma razão pela qual eu não gostaria de instalá-lo como root? Executá-lo como root não o instala em "todo o sistema"?

Como faço para executá-lo como root?

EDITAR #1

Minha distribuição é Debian Wheezy, se for importante.

Se eu executar com sudo:

~$ sudo ./qt-opensource-linux-x64-5.3.2.run 
No protocol specified
qt-opensource-linux-x64-5.3.2.run: cannot connect to X server :0.0

Mesmo erro.

EDITAR #2

Este roteiro é deaquie é o instalador qt5 (Qt é um aplicativo de plataforma cruzada e uma estrutura de desenvolvimento de UI. Usando o Qt, você pode facilmente portar um aplicativo GUI para várias plataformas sem reescrever o código do aplicativo do zero.)

EDITAR #3

Pelo que pude perceber nas instruçõesessesite, o instalador deve ser executado como root, eles executam com "sudo" lá?

Trecho das instruções:

$ chmod +x qt-linux-opensource-5.2.0-x86-offline.run
$ sudo ./qt-linux-opensource-5.2.0-x86-offline.run 

Responder1

Isso funciona conforme o esperado no meu sistema. Parece que você não está sudoconfigurado para permitir a execução de aplicativos gráficos. Não encontro esse problema há alguns anos, mas um destes deve funcionar:

  1. Desligue o controle de acesso para X

    xhost +
    sudo ./qt-opensource-linux-x64-1.6.0-5-online.run
    

    Em seguida, ative-o novamente com xhost -.

  2. Exporte seu ambiente para a sudosessão.

    sudo -E ./qt-opensource-linux-x64-1.6.0-5-online.run
    

    Não tenho certeza de quão relevante este é, mas vale a pena tentar.

Responder2

Não, normalmente não há razão para não instalar como root, isso é bastante comum. Não "executar" como root não é o mesmo que instalar como root. Você não deve executar isso como root, na minha experiência é muito raro que um cliente X precise ser executado como root.

Instalar e executar são coisas diferentes. Muitos itens precisam ser instalados como root para entrar nos diretórios configurados durante a compilação, mas serão executados posteriormente como usuários "normais".

A instalação é a parte final do processo de compilação. A compilação para muitos pacotes pode ser feita por um usuário normal, por exemplo, em algum subdiretório do seu diretório inicial. Mas quando se trata de instalar os binários executáveis ​​e scripts para /usr/local/binou /usr/bine outros arquivos para /usr/libetc., você precisa dos direitos especiais que o root tem para escrever lá.¹

Isso é o que você normalmente consegue

tar xvf somepackage.tar
cd somepackage
./configure
make
sudo make install

Apenas o último comando dessa cadeia precisa ser executado "como root"²

Após a instalação, todos os usuários podem usar esses executáveis, mas, entre outras coisas, isso os impede de alterar a configuração "global".

¹ Existem mais razões para fazer isso como root, por exemplo, quando você precisa definir algumbits setuid ou setgid
² Freqüentemente, os últimos comandos são encadeados com &&, então a instalação só é tentada quando o make é bem-sucedido

informação relacionada