Konsole: Configuración de perfil para acceso a Unix SCO

Si bien hoy en día estamos acostumbrados a que los intérpretes de comandos de las distribuciones Linux, como bash, no nos presenten inconvenientes al momento de escribir nuestros comandos, o ejecutar algunas aplicaciones remotas, la verdad es que existen varios otros intérpretes y entornos que si nos pueden dar dolores de cabeza.

Esa fue mi experiencia con los intérpretes KSH y SH del sistema operativo SCO OpenServer, cuyas configuraciones no son las más compatibles con las aplicaciones de consola actuales.

Los intérpretes de comandos que utiliza el sistema operativo SCO OpenServer, que se encuentra basado en Unix, suelen ser como ya mencioné SH o KSH por defecto, también cuenta con bash, pero aún eligiendo el intérprete de comandos bash la experiencia no es la misma que la que nos ofrecen las distribuciones Linux.

Básicamente, la diferencia se encuentra en las configuraciones del entorno del intérprete de comandos que utiliza el sistema operativo, en este caso Unix SCO OpenServer, y como el OS interpreta cada una de las teclas presionadas en el equipo cliente, que suelen ser enviadas remotamente desde aplicaciones cliente de consolas (PuTTY, Konsole, etc.).

Es así, que para el caso de la aplicación de consola cliente de KDE, o sea, Konsole, debemos crear un profile de conexión que cuente con la configuración compatible con la configuración del sistema operativo SCO OpenServer, para lo cual debemos seguir los siguientes pasos verificados para un sistema operativo openSUSE Leap 42.2 con KDE 5:
  1. Comenzamos por dirigirnos al directorio home de nuestro usuario operador que intenta conectarse mediante Konsole a un equipo remoto que usa el sistema operativo SCO, y creamos un archivo denominado sco.profile en el directorio que corresponde:
    gabriel@testpc:~> cd /home/gabriel/
    gabriel@testpc:~> touch .local/share/konsole/sco.profile
    gabriel@testpc:~> chown gabriel:users .local/share/konsole/sco.profile
    gabriel@testpc:~> chmod 600 .local/share/konsole/sco.profile
    gabriel@testpc:~> vi .local/share/konsole/sco.profile
    OBS: Para la versión 4 de KDE, el directorio para crear los archivos es .kde4/share/apps/konsole/.

    A dicho archivo le agregamos el siguiente contenido:
    [Appearance]
    ColorScheme=WhiteOnBlack
    Font=Monospace,14,-1,2,50,0,0,0,0,0

    [Encoding Options]
    DefaultEncoding=IBM850

    [General]
    Command=/bin/bash
    Environment=TERM=vt100,LANG=en_US.IBM850,LC_COLLATE=en_US.IBM850,LC_CTYPE=en_US,LC_MESSAGES=C,LC_MONETARY=en_US.IBM850,LC_NUMERIC=en_US.IBM850,LC_TIME=en_US.IBM850
    Name=SCO
    Parent=FALLBACK/
    TabBarMode=0

    [Keyboard]
    KeyBindings=sco

    [Scrolling]
    HistoryMode=0
    En la configuración anterior quisiera resaltar dos de ellas que son las más importantes, aparte de la configuración del tamaño de texto, colores, etc. Las configuraciones de interés son TERM=vt100 en la propiedad Environment y la configuración KeyBindings=sco. En la primera le informamos al cliente de consola Konsole que utilice el estándar de terminal vt100 para comunicarse con el servidor SCO ya que es compatible, y en la segunda le informamos que utilice un archivo de configuración denominado sco.keytab, que si no vamos a necesitar modificar las funciones de ciertas teclas del teclado, la opción KeyBindings debería ser omitida.

  2. La aplicación cliente Konsole permite reemplazar el valor original generado al presionar ciertas teclas del teclado del equipo cliente, y enviar al equipo remoto un valor diferente. En este ejemplo, la asociación de la teclas que se desean reemplazar por valores diferentes se agregan al archivo denominado sco.keytab, que lo podemos crear con las siguientes directivas:
    gabriel@testpc:~> cd
    gabriel@testpc:~> touch .local/share/konsole/sco.keytab
    gabriel@testpc:~> chown gabriel:users .local/share/konsole/sco.keytab
    gabriel@testpc:~> chmod 600 .local/share/konsole/sco.keytab
    gabriel@testpc:~> vi .local/share/konsole/sco.keytab
    Se le puede agregar la siguiente configuración de ejemplo que es muy rebuscada, ya que cambia los valores de las teclas F1 al F7 por códigos ASCII del 1 al 7, lo mismo con las teclas de cursores que devuelven números. Ya queda a criterio de cada uno hacer las adaptaciones que crean convenientes.
    keyboard "SCO"
    key Esc : "\E"
    key Tab : "\t"
    key Backspace : "\b"
    key Return+Alt : "\E\r"
    key Return-Alt : "\r"
    key Enter : "\r"
    key Ins-Shift : "\E[2~"
    key Del : "\E[3~"
    key F1 : "\x01"
    key F2 : "\x02"
    key F3 : "\x03"
    key F4 : "\x04"
    key F5 : "\x05"
    key Home : "\E[1~"
    key F6 : "\x06"
    key End : "\E[4~"
    key F7 : "\x07"
    key F8 : "\E[19~"
    key Left-Shift : "4"
    key Up+Shift : ScrollLineUp
    key Up-Shift : "8"
    key F9 : "\E[20~"
    key F10 : "\E[21~"
    key Right-Shift : "6"
    key Down+Shift : ScrollLineDown
    key Down-Shift : "2"
    key F11 : "\E[23~"
    key PgUp-Shift : "\E[5~"
    key PgUp+Shift : ScrollPageUp
    key F12 : "\E[24~"
    key Space+Ctrl : ""
    key PgDown-Shift : "\E[6~"
    key PgDown+Shift : ScrollPageDown
    Esta opción que nos ofrece Konsole es muy importante ya que los valores que se generan al presionar una tecla del teclado pueden variar en función a la configuración del entorno de ejecución del intérprete de comandos que usamos, y al sistema operativo desde donde se ejecute la aplicación cliente de tipo consola, que no siempre son exactamente compatibles con la configuración del sistema operativo remoto.

  3. Una vez creados los archivos anteriores ya podemos utilizar el nuevo perfil ejecutando la aplicación Konsole y accediendo al menú Preferencias --> Cambiar perfil --> SCO.
    Sin embargo, podemos facilitar el acceso a dicha configuración creando un acceso directo que ejecute la aplicación Konsole, cargue el perfil sco.profile y se conecte automáticamente al equipo con el sistema operativo SCO OpenServer. Comenzamos por crear el archivo de acceso directo sco.desktop:
    gabriel@testpc:~> cd
    gabriel@testpc:~> touch Escritorio/sco.desktop
    gabriel@testpc:~> chown gabriel:users Escritorio/sco.desktop
    gabriel@testpc:~> chmod 755 Escritorio/sco.desktop
    gabriel@testpc:~> vi Escritorio/sco.desktop
    Al cual le agregamos el siguiente contenido:
    #!/usr/bin/env xdg-open
    [Desktop Entry]
    Comment[es]=
    Comment=
    Exec=konsole --profile sco.profile -e ssh ip_o_nombre_equipo_sco
    GenericName[es]=
    GenericName=
    Icon=package_internet_terminal
    MimeType=
    Name[es]=Acceso a OS SCO
    Name=Acceso a OS SCO
    Path=
    StartupNotify=true
    Terminal=false
    TerminalOptions=
    Type=Application
    X-DBUS-ServiceName=
    X-DBUS-StartupType=
    X-KDE-SubstituteUID=false
    X-KDE-Username=
  4. Para finalizar es importante mencionar que desde el menú Preferencias --> Gestionar Perfiles... podemos elegir el perfil SCO creado previamente por comandos y editar sus propiedades a través de la interfaz gráfica de configuraciones provista por Konsole, lo que nos facilitará configurar propiedades como el tamaño de texto, colores de la consola, etc.

Y eso es todo por el momento, creo.

Fuentes:

Comentarios

  1. Excelente artículo, me fue muy útil para poder conectar Konsole a un servidor SCO, hice algunos cambios a algunas teclas que se usan de formar especifica,pero todo lo demás lo usé tal cual. Gracias por compartir y saludos

    ResponderEliminar
    Respuestas
    1. Hola Miguel, hay poca gente que aún necesite de este tipo de información, pero me alegro que te haya servido.. Saludos.

      Eliminar

Publicar un comentario