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:
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:
- 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/
OBS: Para la versión 4 de KDE, el directorio para crear los archivos es .kde4/share/apps/konsole/.
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
A dicho archivo le agregamos el siguiente contenido:[Appearance]
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.
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 - 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
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.
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.keytabkeyboard "SCO"
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.
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 - 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
Al cual le agregamos el siguiente contenido:
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#!/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= - 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.
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
ResponderEliminarHola Miguel, hay poca gente que aún necesite de este tipo de información, pero me alegro que te haya servido.. Saludos.
Eliminar