Archivo de la etiqueta: kde

Login remoto a otra máquina con VNC

En otro truco, hace días, os hablaba de VNC para acceder a otra máquina de tu red local.

Pero esto se queda un poco corto. Supongamos que quieres un verdadero login remoto, es decir, convertir la máquina remota en un verdadero ordenador multiusuario, de tal forma que un usuario pueda entrar en su escritorio  de forma remota, al mismo tiempo que otro usuario accede al suyo en la propia máquina remota.

Asumo que en tu máquina ya tienes un servidor VNC funcionando y configurado (por ejemplo, en mi caso, Xvnc4). No es muy complicado, de todas formas: solo tienes que instalar el paquete vnc4server con apt-get (en el caso de Ubuntu) y después arrancar el servidor con el comando vncserver. Te pedirá una contraseña para que protejas el acceso, así que dásela. Pero de todas formas, en el método que describo a continuación, se desactiva la autentificación propia de VNC porque usará la autentificación de tu propio escritorio.

Bien, para hacer un login remoto como usuario, hay que combinar XDMCP con VNC, de tal forma que se active el servidor VNC de la máquina remota bajo demanda, sin que tengas que hacerlo a mano cada vez (nada de SSH para activar el servidor).

Para ello, en primer lugar, debes crear un puerto específico destinado a VNC en la máquina remota echando mano del demonio xinetd. Edita el fichero /etc/services y añade una línea que diga esto:

vnc    5908/tcp   #Xvnc

Esto activa el puerto 5908 para el servicio VNC. Vale, ahora tienes que decirle al ordenador remoto lo que tiene que hacer cada vez que reciba una petición de acceso en ese puerto. Para ello crea un fichero /etc/xinetd.d/vnc que diga tal que esto:

# Default: on

# Descripcion: El servidor vnc se activa bajo demanda
service vnc
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = :8 -inetd -once -query localhost -depth 24 -geometry 1280x1024 -securitytypes=none
}

El parámetro «server» dice qué programa atenderá la petición de acceso (en este caso, el servidor VNC), y el parámetro «server_args» dice con qué parámetros se activa (en este caso dice que se usará la pantalla 8, que se pondrá en marcha con el acceso y se detendrá cuando se cierre, que el servidor hará una conexión local XDMCP, que tendrá una profundidad de color de 24 bits, con un escritorio de 1280×1024 y que se desactiva la autenticación de VNC).

¿Ya?. Vale, ahora reinicia el servicio xinetd con un «sudo /etc/init.d/xinetd restart«.

Vale, ahora tienes que activar XDMCP en sí mismo. Esto dependerá de qué gestor de pantallas uses. Si estás usando gdm (Gnome), que es lo más habitual, entonces edita el fichero /etc/gdm/custom.conf y en el apartado [xdmcp] cambia la línea «Enable=false» por «Enable=true«. Esto es lo que ocurre en Ubuntu, para ser más exactos. En otros sistemas puede que te venga mejor ejecutar gdmsetup, o si usas KDE  editar los ficheros de configuración de kdm, o en otros sistemas los de xdm (si no usas ni Gnome ni KDE). En cualquiera de los casos, ya sea en gdm, kdm o xdm, tienes que acceder a la configuración y activar la opción XDMCP. Para localizar los ficheros en cuestión te puede ayudar el comando «find /etc -name gdm» por ejemplo, o averiguar cómo hacerlo en tu sistema buscando en Google (por ejemplo «ubuntu habilitar xdmcp»)

Vale, ahora reinicia el servidor gráfico o mejor resetea la máquina entera. Con esto ya has terminado en la máquina remota.

Ahora vete a la máquina cliente, abre un terminal y teclea: «vncviewer selene:5908«. Bien, obviamente, no tienes que teclear esto exactamente, sino el nombre (o la IP) de tu propia máquina remota.

Y ahora deberías abrirse en tu pantalla algo así:

La máquina remota ofreciendo login a través de VNC

Tecleas tu contraseña de usuario y et voila:

La máquina remota dándote acceso a tu escritorio

La máquina remota dándote acceso a tu escritorio

Instalar KDE en Ubuntu 11.0

Para instalar KDE en Ubuntu tienes que instalar los siguientes paquetes, a través de Synaptic o de Apt:

  • kde-standard
  • kde-l10n-es (es una ele, no una i)
  • language-pack-kde-es

Esto instala lo que es KDE, con un grupo de aplicaciones básico para que empieces a funcionar decentemente. Si quieres aplicaciones más concretas, como amarok o cosas así, tendrás que instalarlas aparte.

Al arrancar Evince en KDE, no aparecen algunos iconos de la barra de herramientas

Si arrancas Evince desde Gnome, la barra de herramientas funciona bien. Pero si lo arrancas desde KDE, te encuentras conque algunos de los iconos aparecen como un cuadrado en blanco con un aspa roja.

Además, si arrancas Evince desde una ventana de comandos xterm, te encuentras con multitud de mensajes de error tal que así:

 
(evince:23994): Gtk-WARNING **: Error loading theme icon for stock: 
El icono «stock_zoom-page-width» no está presente en el tema
(evince:23994): Gtk-WARNING **: Error loading theme icon for stock: 
El icono «stock_preview-two-pages» no está presente en el tema
(evince:23994): Gtk-WARNING **: Error loading theme icon for stock: 
El icono «stock_new-master-document» no está presente en el tema
(evince:23994): Gtk-WARNING **: Error loading theme icon for stock: 
El icono «stock_zoom-page» no está presente en el tema
(evince:23994): Gtk-WARNING **: Error loading theme icon for stock: 
El icono «stock_zoom-page-width» no está presente en el tema

Este error me trajo bastante de cabeza, hasta que un mensaje en un foro me dió una pista acerca de lo que estaba sucediendo.

Y es que Evince es un programa Gnome, y carga la configuración a través de un demonio que se llama «gnome-settings-daemon». Este demonio es el que especifica todo el aspecto en pantalla de los programas Gnome (lo que llamamos «tema»). Sin él, el programa funciona igualmente, pero con un tema GTK muy básico y sin ningún «lujo» como son determinados iconos que no vienen por defecto. Como ya habrás adivinado, KDE no tiene por qué cargar ese demonio, así que tendrás que hacerlo «a mano».

La forma más práctica es abrir una ventana de terminal (como xterm o konsole), y teclear este comando:

 
[lacofi@jeanette ~]$ whereis gnome-settings-daemon
gnome-settings-daemon: /usr/libexec/gnome-settings-daemon 
[lacofi@jeanette ~]$ cd .kde/Autostart
[lacofi@jeanette Autostart]$ cd .kde/Autostart
[lacofi@jeanette Autostart]$ ln -s /usr/libexec/gnome-settings-daemon gnome-settings-daemon

KDE arrancará automáticamente cualquier programa o enlace a programa que se encuentre en el directorio «~/.kde/Autostart», así que a partir de ahora, cada vez que arranques KDE, se cargará también el demonio gnome-settings-daemon, y Evince (y otros programas) encontrarán sin problemas sus iconos y configuraciones.

Tras actualizar unas librerías, no oigo sonidos de sistema en KDE

Ya está. Ya lo has roto. ;-)

Lo digo en serio, ¿eh?. :-D

A ver, te cuento lo que me pasó a mi. Resulta que me bajé dos programas de base de datos, Knoda y Rekall. Ambos hay que compilarlos, pero tienen unas dependencias bastante puñeteras. Total, que «actualicé» unas cuantas librerías y paquetes (sobre todo del grupo KDE y de la sección «devel»).

Bien, Knoda y Rekall se compilaron, sí. Pero a partir de ahí empezaron a surgir problemas, todos ellos relacionados con el sonido. Los síntomas principales eran estos, todos ellos bastante sorprendentes:

  1. KDE arranca sin el habitual sonido «KDE_Startup.wav».
  2. No se oye absolutamente ningún sonido del sistema (ventanitas al abrirse, ventanitas al cerrarse).
  3. Sin embargo, puedo abrir ir al «menú K» y abrir cualquier programa de audio (noatun, kaboodle…) y escuchar cualquier mp3 y ogg de mi colección sin ningún problema. También puedo ejecutar noatun y kaboodle en ventana de comandos; y funcionan, pero sacan un curioso mensaje de error que dice «mcop warning: user defined signal handler found for SIG_PIPE, overriding».
  4. Curiosamente, ya no puedo arrancar noatun ni kaboodle pulsando los iconos del escritorio. Sale un mensajito que dice que KDEinit no pudo ejecutar «noatun», por ejemplo. Pero si, con el botón derecho del ratón, abro las propiedades del icono, puedo poner como ejecutable «/usr/bin/noatun» en vez de «noatun». Entonces, sí arranca. Pero siguen apareciendo los mensajitos de error «KDEinit no pudo ejecutar «noatun».
  5. Si abro Konqueror y me voy a los directorios donde guardo los mp3 y ogg, ocurre lo mismo. Si pulso en un ogg me salta la misma ventanita de error, solo que dos veces seguidas. Puedo modificar los patrones de MIME para que incluya la ruta «/usr/bin/kaboodle» en vez de «kaboodle» con lo que sí arranca. Pero siguen apareciendo los dos mensajitos de error, uno detrás de otro.
  6. Abro el Centro de Control de KDE y reviso toda la configuración del audio. Está correcta, exactamente igual que estaba la última vez que la modifiqué. Pero, curiosamente, cuando pulso los botones de prueba para escuchar los sonidos asignados a cada evento, no se oye nada.
  7. Abro una ventana de comandos xterm y tecleo un comando «killall artsd». Ejecuto «artsd» en la misma ventana de comandos, con lo que me salen en pantalla todos los mensajes de log. Los log de artsd indican que todo está funcionando bien.
  8. Abro otra ventana de comandos distinta para no interferir con los logs de la primera. En ese otro shell ejecuto un glorioso «artscat /usr/share/sounds/KDE_Startup.wav». El sonido se oye perfectamente y la primera ventana de comandos vomita un log en el que identifica claramente el sonido que estoy escuchando. Lo mismo ocurre cuando ejecuto un «play /usr/share…».
  9. Abro, cierro, maximizo, minimizo y restauro unas cuantas ventanas del escritorio. Los logs de artsd ni se inmutan… es como si no hubiera hecho nada. ¡La leche, artsd funciona perfectamente, el culpable es el KDE, que no consigue comunicarse con el demonio de sonido!.
  10. Salgo de KDE y de todo X Window (o sea me cambio de telinit, vaya, que todo hay que decirlo), me voy a una consola (no un terminal X, sino una verdadera consola). En mi home ejecuto un «rm -Rf .mcop* .DCOP*». Me vuelvo root y ejecuto un «rm -Rf /tmp/*». Rearranco X Windows y que si quiés arroz, Catalina. Que no, que seguimos sin sonidos del sistema.
  11. A la desesperada, creo un usuario llamado «tralarí» y con contraseña «chinpón», para que le instale el escritorio KDE por defecto. Lo mismo mismito. El error es mucho más profundo que eso. No es un fallo de configuración, sino un error del propio KDE, concretamente de lo-que-sea que se encargue de comnunicarle los eventos al demonio de sonido (artsd). La única conclusión lógica es que me lo he cepillado con las últimas «actualizaciones». Que lo he roto, vamos. Después de hecha la prueba, borro el usuario «tralarí», por supuesto. ;-)

¿Y la solución?

Pues deshacer el camino andado es la leche. Porque vete tu a saber cual es la librería dañada, y hay que desinstalar cosas, reactualizar paquetes pero a la inversa (con las versionas antiguas, no las nuevas…). Mi madre, también podría recurrir a las copias de seguridad, pero no me hace ninguna gracia meterme en ese berenjenal por los eventos de sonido, que mira tú lo que me importan. Tiene más importancia lo de Konqueror, no por mi, que me la refanfinfla… pero a mi santa esposa no le gusta la informática, a ella lo que le va es que haciendo «click» se oiga la canción y punto. Pobrecita, y yo haciendo trastadas :-D.

Ya. ¿Y la solución?

Pues la «huida hacia delante», claro. Es un buen momento para actualizar TODO el KDE. Qué demonios, es buen momento para actualizar TODO Woody. Al fin y al cabo, KDE es el escritorio por defecto de María. Y el mio también, que hace tiempo que no toco Window Maker. Además, hace mucho que ha salido ya la versión 3.2

Hala, venga. Nos vamos a /etc/apt/sources.list y cambiamos la línea que dice:

deb http://download.at.kde.org/pub/kde/stable/3.1/Debian stable main

por esta otra:

deb http://download.at.kde.org/pub/kde/stable/3.2/Debian stable main

Y luego los consabidos:

[15:05:21/0][root@claudia:~]# apt-get update ;; apt-get upgrade

Eso sí. Hay librerías rotas (era esperable, ¿verdad?). Así que el upgrade es tormentoso y advierte que hay muchos librerías que han sido «keep back» (dejadas atrás). Algunas de esas librerías se refieren al sistema de sonido de KDE (eeeeh, ¿lo has visto?… te pillé). No pasa nada, cuando «apt-get upgrade» se detiene, hago un «apt-get install» manual contra uno de esos paquetes dejados «keep back». Si esto falla por alguna otra dependencia, hago un «dpkg –remove paquete» contra ella y vuelvo a intentarlo. Después, reintento el «apt-get upgrade» y continúo así una y otra vez, hasta dejar todos los paquetes disponibles a cero.

La pregunta que te estás haciendo ahora es… ¿Solucionó esto el problema?.

Sí. Por completo. X-D

Al arrancar KDE 3.2 sale un mensaje «Could not start KDEinit»

Al logarme para entrar en mi nuevo KDE 3.2 sale un estúpido mensaje que dice «Could not start KDEinit. Check your installation». Y la barra de progreso de KDE se detiene hasta que pulso «Okay». Luego, KDE arranca normalmente y funciona muy bien (y es precioso, además ;-) pero cuando deslogo, aparece un mensaje de crash diciendo que KNotify se ha ido al carajo. Afortunadamente, solo dura unos segundos y luego desaparece sola y se desloga normalmente.

Sorprendente, ¿verdad?. Mensajes de error haciendo referencia a no-se-qué porque lo cierto es que KDE 3.2 funciona a la perfección. :-?

Bien, la verdad es que esto se debe a un bug gordo, gordísimo, en el script /usr/bin/startkde. Es tan gordo y evidente que se merece solo un capón y unas risas, porque es como un matemático que después de una larga fórmula de integrales, escribe en la pizarra 2+2=5.

Vale, pues edita con cualquier editor de textos el archivo /usr/bin/startkde. Alrededor de la línea 164, donde pone:

LD_BIND_NOW=true kdeinit +kcminit +knotify
if test $? -ne 0; then
	# Startup error
	echo 'startkde: Could not start kdeinit. Check your installation.'  1>&2
	xmessage -geometry 500x100 "Could not start kdeinit. Check your installation."
fi

Debe poner (fijaos en las dos primeras líneas):

LD_BIND_NOW=true 
kdeinit +kcminit +knotify
if test $? -ne 0; then
	# Startup error
	echo 'startkde: Could not start kdeinit. Check your installation.'  1>&2
	xmessage -geometry 500x100 "Could not start kdeinit. Check your installation."
fi

¿Habeis visto?. Se les olvidó un <Enter> X-D

Pues ya está. Cambiando eso, el bug está resuelto.

Con autofs, KDE intenta montar dos veces mi DVD

Si instalas autofs (el montador «automágico» para unidades removibles), te encontrarás conque KDE intenta montar dos veces tu unidad DVD, o ZIP, o disquette (o cualquier cosa que hayas incluido en el automounter).

Total, que metes un DVD, haces click en el icono de DVD, y te sale un mensaje en pantalla diciendo que, según mtab, la unidad ya está montada. Y un segundo después, por detrás, ves salir el konqueror con el contenido del DVD. Vale, está bien, pero ¿no hay forma de evitar ese irritante mensaje de error sin sentido?.

Pues sí, claro. Lo que ocurre es que KDE tiene incorporado un sistema de automontaje semiautomático, que presupone que NO estás usando el automounter autofs y que, de hecho, entra en conflicto con él. Así, cuando metes un DVD, autofs lo monta inmediatamente. Después, cuando haces click en el icono del escritorio, KDE intenta montarlo otra vez y ahí es donde salta el conflicto. No puedes evitarlo, KDE está diseñado para comportarse así y no es opcional (supongo que ya esté corregido). Pero mientras tanto puedes solucionarlo dando un pequeño rodeo (un «workaround», que dicen en el imperio).

Vete al Centro de Control del KDE. Despliega «Escritorio» y elige la sección de «Comportamiento». Desactiva la casilla «mostrar dispositivos en el escritorio». Pulsa aceptar.

Vale, ahora verás cómo, en tu escritorio, desaparecen todos los iconos de unidades removibles… el DVD, el floppy, la ZIP, todos la carajo. De acuerdo, eso es lo que queríamos. Ahora tienes que crearlos a mano, uno a uno. Por ejemplo, el DVD tal como sigue.

Haz click en el fondo de escritorio con el botón derecho del ratón. En el menú elige «Crear nuevo». En el submenú… ¡eeeeeh!,contente, no sucumbas, NO pulses «Unidad CD/DVD» porque NO es lo que tienes que hacer. En lugar de eso, elige «Enlace a aplicación».

En el cuadro de diálogo que sale, en la pestaña «General» pon como nombre «DVD-ROM», pulsa en el icono y elige uno bonito, del grupo «dispositivos» y que muestre un DVD. Luego, en la pestaña «Ejecutar» teclea «kfmclient openURL /dvd» siendo «/dvd» el punto de montaje «automágico» que usa autofs. Acepta y ya está.

El nuevo icono se comportará como si fuera un acceso al dispositivo. Cuando hagas click, autofs detectará el acceso y montará la unidad. Luego, Konqueror abrirá esa unidad en pantalla al estilo «Explorer» y podrás navegar en su interior al más puro estilo Windows. Cuando cierres el Konqueror, autofs detectará la inactividad y desmontará la unidad permitiendo la expulsión.

Para más detalles puedes ir a la sección donde cuento cómo se configura autofs.

Como decía, puede que ya esté corregido en las versiones modernas de KDE, pero no suelo usar iconos de dispositivos en mi escritorio, así que…

No puedo elegir gestor de ventanas (siempre sale KDE)

Esto me ocurría en una instalación en disco duro de Knoppix.

El problema era que la configuración de knoppix esperaba que metieras el escritorio como un parámetro del kernel (ya sabes, como «knoppix lang=es desktop=wmaker», por ejemplo). Pero una vez instalado en el disco duro la cosa no funcionaba así.

Tuve que editar el fichero /etc/sysconfig/desktop y poner ahí el escritorio que quería. Por ejemplo: DESKTOP=»wmaker». Ahora al hacer startx arrancará WindowMaker en lugar de KDE. ¿Fácil?.

No tanto, porque ocurre que cada vez que haces un reboot, el fichero /etc/sysconfig/desktop se reescribe con la frase DESKTOP=»kde», así que el cambio dura solo hasta que rebotas.

¿Solución?.

Editar el fichero /etc/init.d/knoppix-autoconfig. Ahí es donde está la orden que reescribe /etc/sysconfig/desktop. Solo hay que comentarla, de tal forma que donde ponga:

echo "DESKTOP=\"$DESKTOP\""	>/etc/sysconfig/desktop

debe poner:

# echo "DESKTOP=\"$DESKTOP\""	>/etc/sysconfig/desktop

Pues hala.