¿Cómo instalo este script como root en la terminal: ./qt-opensource-linux-x64-5.3.2.run?

¿Cómo instalo este script como root en la terminal: ./qt-opensource-linux-x64-5.3.2.run?

Necesito instalar qt5 en mi sistema y solo puedo ejecutarlo como usuario normal. Cuando intento ejecutarlo como "superusuario", aparece este error:

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

Hice:

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

Todavía no hubo suerte.

Preguntas:

¿Hay alguna razón por la que no quisiera instalarlo como root? ¿No se supone que ejecutarlo como root lo instala en "todo el sistema"?

¿Cómo lo ejecuto como root?

EDITAR #1

Mi distribución es Debian Wheezy si es que importa.

Si lo ejecuto con 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

Mismo error.

EDITAR #2

Este guión es deaquíy es el instalador de qt5 (Qt es una aplicación multiplataforma y un marco de desarrollo de UI. Con Qt, puede portar fácilmente una aplicación GUI a múltiples plataformas sin tener que reescribir el código de la aplicación desde cero).

EDITAR #3

Por lo que puedo deducir de las instruccionesestesitio, el instalador debe ejecutarse como root, ¿lo ejecutan con "sudo" allí?

Extracto de las direcciones:

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

Respuesta1

Esto funciona como se esperaba desde el primer momento en mi sistema. Parece que no lo tienes sudoconfigurado para permitirte ejecutar aplicaciones gráficas. No he encontrado este problema en bastantes años, pero uno de estos debería funcionar:

  1. Desactivar el control de acceso para X

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

    Luego, actívalo nuevamente con xhost -.

  2. Exporte su entorno a la sudosesión.

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

    No estoy seguro de cuán relevante es este, pero vale la pena intentarlo.

Respuesta2

No, normalmente no hay motivo para no instalar como root, esto es bastante común. No "ejecutar" como root no es lo mismo que instalar como root. No debe ejecutar esto como root; en mi experiencia, es muy raro que un cliente X deba ejecutarse como root.

Instalar y ejecutar son cosas diferentes. Muchos elementos deben instalarse como root para acceder a los directorios configurados durante la compilación, pero luego se ejecutarán como usuarios "normales".

La instalación es la parte final del proceso de compilación. La compilación de muchos paquetes se puede realizar como un usuario normal, por ejemplo, en algún subdirectorio de su directorio personal. Pero cuando se trata de instalar archivos binarios ejecutables y scripts para /usr/local/bino /usr/biny otros archivos, /usr/libetc., necesita los derechos especiales que tiene la raíz para escribir allí.¹

Esto es lo que normalmente obtienes con

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

Sólo el último comando de esa cadena debe realizarse "como root"²

Después de la instalación, todos los usuarios pueden utilizar esos ejecutables, pero, entre otras cosas, esto les impide alterar la configuración "global".

¹ Hay más razones para hacer esto como root, por ejemplo, cuando necesitas configurar algunasbits setuid o setgid
² A menudo, los últimos comandos están encadenados con &&, por lo que la instalación solo se intenta cuando la creación se realizó correctamente.

información relacionada