BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

¿Es posible compilar el Terminal de GNOME en otros escritorios GNU/Linux?

BocaDePez
BocaDePez

Hola, buenas tardes.

Yo quisiera saber si el Terminal de consola para GNOME, gnome-terminal, es posible compilarlo en otros entornos de escritorio (KDE, LXDE, Xfce, Enlightment, etc.), pues me parece que solamente ese sirve para ejecutar líneas de comando y scripts en bash con la extensión FlashGot para Firefox.

Gracias. Un saludo.

BocaDePez
BocaDePez

gnome-terminal es un programa como otro cualquiera. Un entorno de escritorio simplemente es un conjunto de programas. Si quieres gnome-terminal en otros escritorios no deberías tener ningún problema, eso si, tendrá que carga más bibliotecas que no tiene porque estar presentes en tu nuevo escritorio.

Y no entiendo a que te refieres con compilar... a menos que estes usando LFS o Gentoo (cosa que dudo) lo normal es que te baste con descargar el paquete con gnome-terminal ya compilado del repositorio de tu distribución.

Respecto a FlashGot dudo mucho que esté ligado a gnome-terminal. Revisa la configuración de la extensión. Es muy probable que puedas cambiar la ruta a la terminal que quieras. Por ejemplo, en KDE tendrías konsole como homóloga de gnome-terminal de GNOME.

🗨️ 3
mceds

Efectivamente, basta con tener las correspondientes bibliotecas GTK instaladas para que Terminal arranque con normalidad. Otra cosa es que su "estilo gráfico" desentone con el resto del escritorio, aunque para eso también hay soluciones (por ejemplo, gtk-qt-engine para KDE).

🗨️ 2
BocaDePez
BocaDePez

Dudo yo mucho que puedas instalar gnome-terminal sólo con tener GTK. Eso es como decir que Konsole compilaría sólo con Qt, cuando en realidad depende de las kdelibs y a saber qué más. Los ebuilds de Gentoo son geniales para ver esas dependencias.

(link roto)

Pero vamos que la solución no es compilar gnome-terminal sino configurar otra terminal para que FlashGot la use.

🗨️ 1
mceds

Vaaale, quien dice GTK, dice cuatro pijadas más (gconf, gsettings...). Ahora bien, no conozco FlashGot; es evidente que, si se puede configurar para otro terminal, es la mejor opción.

BocaDePez
BocaDePez

Hola de nuevo.

Gracias por las respuestas.

En el pasado he instalado aplicaciones pertenecientes a un escritorio en otro distinto. Y sí, para instalar aunque sea una pequeña aplicación se tiene que usar una gran cantidad de paquetería de ese otro escritorio; de lo contrario no se podría.

En FlashGot, para ejecutar un script en bash externo, es necesario indicarle a la extensión la ruta absoluta de un Terminal. Y parece que solamente acepta la ruta de gnome-terminal: /usr/bin/gnome-terminal. Soy usuario de Knoppix 7.7.0, la distribución de instalación en memorias USB y flash por excelencia. Esta distribución incorpora de serie 3 escritorios: LXDE, GNOME y KDE. Aunque gnome-terminal está disponible en LXDE y KDE, si intento pasarle a FlashGot la ruta de /usr/bin/lxterminal (en LXDE) o /usr/bin/konsole (en KDE) ninguno de estos Terminales se ejecuta.

Como ya he dicho, en Knoppix no hay problema, pero si quiero usar esa opción de FlashGot en una distribución exclusiva de LXDE o KDE (y otras) supongo que tendré que instalar prácticamente GNOME entero para poder usar gnome-terminal (!).

Un saludo.

🗨️ 5
mceds

¿Gnome entero? No, hombre, no. Échale un vistazo al enlace de Gentoo que ha puesto el compañero, en la sección de dependencias. En Debian, la cosa sale muy parecida:

Package: gnome-terminal
...

Depends: gconf-service, libatk1.0-0, libc6, libcairo-gobject2,
libcairo2, libdconf1, libgconf-2-4, libgdk-pixbuf2.0-0, libglib2.0-0,
libgtk-3-0, libnautilus-extension1a, libpango-1.0-0, libpangocairo-1.0-0,
libuuid1, libvte-2.91-0, libx11-6, dconf-gsettings-backend | gsettings-backend,
gsettings-desktop-schemas, gnome-terminal-data, gnome-terminal-data

Otra opción es intentar engañar a FlashGot:

ln -s /usr/bin/lxterminal /usr/bin/gnome-terminal

... aunque supongo que, si no se ejecutan, es porque FG pasa determinadas opciones y argumentos exclusivos de Gnome-Terminal.

Por cierto, acabo de instalar el add-on de FlashGot para probar y no encuentro esa característica. ¿Dónde está?

🗨️ 4
BocaDePez
BocaDePez

Ah, menos mal. Pensaba que tendría que descargar 400 MB de paquetería... Gracias.

Desgraciadamente, FlashGot solamente acepta la ruta real del Terminal.

En cuanto a dónde está esa característica, hay que crearla.

- Este es el script a ejecutar:

#!/bin/bash

# Este script sirve para integrarlo a la extensión de Firefox 'FlashGot' y hacer descargas directas desde Firefox usando aria2c

# CÓMO INSTALAR: dar permiso de ejecución a este script y copiarlo a '/usr/local/bin/'. Instalar la extensión 'FlashGot' a Firefox, si no lo estuviese todavía, y configurar las opciones de la extensión tal y como indica la imagen "aria2flashgotconfiguration.png"

# NOTA: las descargas se guardarán en el directorio del usuario. Si la descarga es un vídeo de Youtube se guardará con el nombre de "videoplayback"

#Shell script for flashgot with aria2c

#aria2c_v2.sh DIR UFILE CFILE REFERER

#Specify where aria2c executable is

ARIA2C_BIN=/usr/bin/aria2c

#All unfinished downloads are saved to this file when aria2c exits.

#Since many aria2c instance can run at the same time, to avoid session

#file is overwritten on the exit of each instance, we use timestamp

#and pid of shell to generate unique enough file name.

SESSION_FILE=$1/session-`date +"%Y-%m-%d-%H:%M:%S-$$"`.txt

#Specify additional command-line options here

ARIA2C_OPTS="--save-session=$SESSION_FILE"

$ARIA2C_BIN $ARIA2C_OPTS -U "Mozilla/5.0 (X11; Linux x86_64; rv:5.0.1) Gecko/20100101 Firefox/5.0.1" --referer="$4" --load-cookie="$3" -k1M -x5 --file-allocation=none --check-certificate=false -j1 -d "$1" -i "$2"

#Remove empty session file.

if [ ! -s $SESSION_FILE ]; then

    rm -f $SESSION_FILE

    echo "Removed empty session file."

fi

echo ""

echo "Hit enter to continue"

read x

- Guardamos el script con el nombre "aria2flashgot" (por ejemplo)

- Lo instamos en, p.e., /usr/local/bin

- En Firefox elegimos 'Herramientas>FlashGot>Otras opciones...>Opciones generales'

- En "Gestor de descarga" pulsamos el botón "Añadir". Aquí ponemos el nombre que queramos a la nueva configuración, p.e.: aria2c_v2. Pulsamos en "Aceptar"

- Ahora, automáticamente, se abrirá una ventana emergente donde habrá que buscar la ruta real de gnome-terminal (generalmente es /usr/bin/gnome-terminal).

- En "Plantilla de argumentos" escribimos: -x aria2flashgot [FOLDER] [UFILE] [CFILE] [REFERER]

- Si marcamos la casilla "Mostrar en menú contextual" al situarnos con el cursor en la URL de descarga, podremos ejecutar "aria2c_v2" desde el menú del botón derecho del ratón.

- Por último pulsamos el botón "Aceptar".

Así debería quedar la configuración de FlashGot:

Indicar que esto es necesario para ejecutar aplicaciones de línea de comandos. Si se quiere ejecutar una aplicación gráfica, basta con buscar la ruta real del script sin necesidad de ruta de Terminal.

Evidentemente, gracias a esta función de FlashGot, la posibilidades son infinitas: ejecutar mpv para visualizar externamente Youtube, reproducir enlaces de Podcast's externamente, etc.

Un saludo.

🗨️ 3
mceds

Poder, he podido hacerlo como en la captura. ¿Cómo podría probarlo?

🗨️ 2
mceds
🗨️ 1
BocaDePez
BocaDePez