Scroll to navigation

CONSOLE_CODES(4) Manual del Programador de Linux CONSOLE_CODES(4)

NOMBRE

console_codes - secuencias de escape y control de la consola de Linux

DESCRIPCIÓN

La consola de Linux implementa un vasto subconjunto de los controles de terminal de la VT102 y del estándar ECMA-48/ISO 6429/ANSI X3.64, más ciertas secuencias de modo privadas para cambiar la paleta de colores, asociaciones de conjuntos de caracteres, etc. En las descripciones tabulares de abajo, la 2ª columna da los mnemónicos ECMA-48 o DEC (éstos, prefijados por DEC) para la función dada. Las secuencias sin un mnemónico no son ni ECMA-48 ni VT102.

Después de haber hecho todo el procesamiento de salida normal, y de que un flujo de caracteres llega al controlador de consola para la impresión de verdad, la 1ª cosa que ocurre es una traducción del código empleado para el procesamiento al código empleado para la impresión.

Si la consola está en el modo UTF-8, entonces los bytes que llegan se ensamblan 1º a los códigos de 16 b Unicode. Si no, cada byte se transforma según la tabla de asociaciones en curso (que lo traduce a un valor Unicode). Vea más abajo la sección Conjuntos de caracteres para la discusión sobre esto.

En el caso normal, el valor Unicode se convierte a un índice de tipo de letra, y éste se almacena en memoria de vídeo, de forma que aparezca en la pantalla el grafo correspondiente (según se encuentra en la ROM de vídeo). Observe que el empleo de Unicode (y el diseño del hardware del PC) nos permite usar 512 grafos diferentes simultáneamente.

Si el valor actual Unicode es un carácter de control, o estamos actualmente procesando una secuencia de escape, el valor se tratará especialmente. En vez de convertirse a un índice de tipo y presentarse como un grafismo, puede lanzar un movimiento del cursor u otra función de control. Vea la sección Controles de la consola de Linux abajo para la discusión sobre esto.

Generalmente no es una buena idea codificar directamente controles de terminal en programas. Linux tiene una base de datos terminfo(5) de capacidades de terminales. En vez de emitir a mano secuencias de escape de la consola, Ud. debería casi siempre utilizar una biblioteca de pantalla que consultara terminfo o una utilidad, como ncurses(3), tput(1), o reset(1).

Controles de la consola de Linux

Esta sección describe todos los caracteres de control y secuencias de escape que llaman a funciones especiales (i.e., cualquier otra cosa distinta a escribir un grafo en la localización del cursor en curso) en la consola de Linux.

Caracteres de control

Un carácter lo es de control si (antes de la transformación según la tabla de asociaciones) tiene uno de los 14 códigos 00 (NUL), 07 (BEL), 08 (BS), 09 (HT), 0a (LF), 0b (VT), 0c (FF), 0d (CR), 0e (SO), 0f (SI), 18 (CAN), 1a (SUB), 1b (ESC), 7f (DEL). Uno puede establecer un modo de "mostrar caracteres de control" (vea más abajo), y permitir que los códigos 07, 09, 0b, 18, 1a, 7f se muestren como grafos. Por otro lado, en modo UTF-8 todos los códigos 00–1f se miran como caracteres de control, sin importar ningún modo "mostrar caracteres de control".

Si tenemos un carácter de control, se actúa inmediatamente y luego se descarta (incluso en medio de una secuencia de escape) y la secuencia de escape continúa con el siguiente carácter. (Sin embargo, ESC empieza una nueva secuencia de escape, posiblemente abortando una anterior no acabada, y CAN y SUB abortan cualquier secuencia de escape). Los caracteres de control reconocidos son BEL, BS, HT, LF, VT, FF, CR, SO, SI, CAN, SUB, ESC, DEL, CSI. Hacen lo que uno esperaría:

BEL (0x07, ^G) beeps;

BS (0x08, ^H) backspaces one column (but not past the beginning of the line);

HT (0x09, ^I) goes to the next tab stop or to the end of the line if there is no earlier tab stop;

LF (0x0A, ^J), VT (0x0B, ^K) and FF (0x0C, ^L) all give a linefeed, and if LF/NL (new-line mode) is set also a carriage return;

CR (0x0D, ^M) gives a carriage return;

SO (0x0E, ^N) activates the G1 character set;

SI (0x0F, ^O) activates the G0 character set;

CAN (0x18, ^X) and SUB (0x1A, ^Z) abort escape sequences;

ESC (0x1B, ^[) starts an escape sequence;

DEL (0x7F) no es tenido en cuenta;

CSI (0x9B) es equivalente a ESC [.

Secuencias de ESC, pero no CSI

ESC c RIS Inicio.
ESC D IND Salto de línea.
ESC E NEL Nueva línea.
ESC H HTS Pone parada tab en esta columna.
ESC M RI Salto de línea inverso.
ESC Z DECID DEC identificación privada. El núcleo devuelve la cadena ESC [ ? 6 c, diciendo que es una VT102.
ESC 7 DECSC Salva el estado actual (cordenadas del cursor, atributos, conjuntos de caracteres apuntados por G0, G1).
ESC 8 DECRC Restaura el estado salvado más reciente por ESC 7.
ESC [ CSI Introductor de secuencia de control
ESC % Empieza la secuencia de selección de conjunto de caracteres
ESC % @    Selecciona el predeterminado (ISO 646 / ISO 8859-1)
ESC % G    Selecciona UTF-8
ESC % 8    Selecciona UTF-8 (obsoleto)
ESC # 8 DECALN DEC prueba de alineación en pantalla - la llena de E's.
ESC ( Empieza secuencia de definición del conjunto G0
ESC ( B    Selecciona predeterminado (asociación ISO 8859-1)
ESC ( 0    Selecciona asociación de gráficos VT100
ESC ( U    Selecciona ninguna asociación - derecho a la ROM
ESC ( K    Selecciona asociación del usuario - la que se carga con
   la utilidad mapscrn(8).
ESC ) Empieza la secuencia de definición de G1
(seguido por uno de B, 0, U, K, como arriba).
ESC > DECPNM Pone el teclado auxiliar en modo numérico
ESC = DECPAM Pone el teclado auxiliar en modo aplicación
ESC ] OSC (Should be: Operating system command) ESC ] P nrrggbb: set palette, with parameter given in 7 hexadecimal digits after the final P :-(. Here n is the color (0–15), and rrggbb indicates the red/green/blue values (0–255). ESC ] R: reset palette

Secuencias ECMA-48 CSI

CSI (o ESC [) es seguido por una secuencia de parámetros, como mucho NPAR (16), que son los números decimales separados por punto y comas. Un parámetro vacío o ausente se toma como 0. La secuencia de parámetros puede ir precedida por un signo de interrogación.

Sin embargo, tras CSI [ (o ESC [ [) se lee un carácter solo y esta secuencia entera no es tenida en cuenta. (La idea es no hacer caso de una tecla de función que se muestra.)

La acción de una secuencia CSI se determina por su carácter final.

@ ICH Insertar el Nº indicado de caracteres blancos
A CUU Mover cursor arriba el Nº indicado de filas
B CUD Mover cursor abajo el Nº indicado de filas
C CUF Mover cursor a la derecha el Nº indicado de columnas
D CUB Mover cursor a la izquierda el Nº indicado de columnas
E CNL Mover cursor abajo el Nº indicado de filas, a la columna 1
F CPL Mover cursor arriba el Nº indicado de filas, a la columna 1
G CHA Mover cursor a la columna indicada en la fila actual
H CUP Mover cursor a la fila y columna indicadas (origen en 1,1)
J ED Borrar pantalla (p. o.: desde el cursor al final de la pantalla).
ESC [ 1 J: borrar desde el comienzo hasta el cursor.
ESC [ 2 J: borrar la pantalla entera.
ESC [ 3 J: erase whole display including scroll-back
buffer (since Linux 3.0).
K EL Borrar línea (p.o.: desde el cursor al final de la línea).
ESC [ 1 K: borrar desde el comienzo de la línea al cursor
ESC [ 2 K: borrar la línea entera.
L IL Insertar el Nº indicado de líneas en blanco
M DL Borrar el Nº indicado de líneas
P DCH Borrar el Nº indicado de caracteres en la línea actual.
X ECH Borrar el Nº indicado de caracteres en la línea actual.
a HPR Mover cursor a la derecha el Nº indicado de columnas
c DA Reponder ESC [ ? 6 c: "Yo soy una VT102".
d VPA Mover cursor a la fila y columna indicadas
e VPR Mover cursor abajo el Nº indicado de filas
f HVP Move cursor to the indicated row, column.
g TBC Sin parámetro: quita parada TAB en la posición actual.
ESC [ 3 g: borra todas las paradas de tabulación.
h SM Establece Modo (vea abajo).
l RM Restablece Modo (vea abajo).
m SGR Establece atributos (vea abajo).
n DSR Informe de estado (vea abajo).
q DECLL Establece los LEDs del teclado.
ESC [ 0 q: apaga todos los LEDs
ESC [ 1 q: pone LED Bloq. Despl.
ESC [ 2 q: pone LED Bloq. Num.
ESC [ 3 q: pone LED Bloq. Mayús.
r DECSTBM Establece región de rodadura; los parámetros son la fila de arriba y abajo.
s ? Salva la localización del cursor.
u ? Restaura la localización del cursor.
` HPA Mover cursor a la columna indicada en la fila actual

ECMA-48 Pone modo Gráfico

The ECMA-48 SGR sequence ESC [ parameters m sets display attributes. Several attributes can be set in the same sequence, separated by semicolons. An empty parameter (between semicolons or string initiator or terminator) is interpreted as a zero.

param resultado
0 restablece todos los atributos a sus valores predeterminados
1 pone negrillas
2 pone medio brillo (simulado con color en una pantalla a color)
4 pone subrayado (simulado con color en una pantalla a color) (los colores para simular disminución o subrayado se ponen con ESC ] ...)
5 pone intermitencia
7 pone vídeo inverso
10 reset selected mapping, display control flag, and toggle meta flag (ECMA-48 says "primary font").
11 select null mapping, set display control flag, reset toggle meta flag (ECMA-48 says "first alternate font").
12 select null mapping, set display control flag, set toggle meta flag (ECMA-48 says "second alternate font"). The toggle meta flag causes the high bit of a byte to be toggled before the mapping table translation is done.
21 set underline; before Linux 4.17, this value set normal intensity (as is done in many other terminals)
22 pone intensidad normal
24 quita subrayado
25 quita intermitencia
27 quita vídeo inverso
30 pone negro
31 pone rojo
32 pone verde
33 pone marrón
34 pone azul
35 pone rosa
36 pone celeste
37 pone blanco
38 256/24-bit foreground color follows, shoehorned into 16 basic colors (before Linux 3.16: set underscore on, set default foreground color)
39 set default foreground color (before Linux 3.16: set underscore off, set default foreground color)
40 pone negro de fondo
41 pone rojo de fondo
42 pone verde de fondo
43 pone marrón de fondo
44 pone azul de fondo
45 pone rosa de fondo
46 pone celeste de fondo
47 pone blanco de fondo
48 256/24-bit background color follows, shoehorned into 8 basic colors
49 pone el color de fondo predeterminado
90..97 set foreground to bright versions of 30..37
100.107 set background, same as 40..47 (bright not supported)

Commands 38 and 48 require further arguments:

;5;x 256 color: values 0..15 are IBGR (black, red, green, ... white), 16..231 a 6x6x6 color cube, 232..255 a grayscale ramp
;2;r;g;b 24-bit color, r/g/b components are in the range 0..255

Interruptores de Modo ECMA-48

DECCRM (por omisión desactivado): Mostrar caracteres de control
DECIM (por omisión desactivado): Poner modo de inserción
LF/NL (por omisión desactivado): Automáticamente seguir a LF, VT o FF con CR.

Órdenes de Informe de Estado ECMA-48

Informe de estado de dispositivo (DSR): La respuesta es ESC [ 0 n (Terminal OK).
Informe de posición de cursor (CPR): La respuesta es ESC [ y ; x R, donde x,y es la localización del cursor.

Secuencias de Modo Privado DEC (DECSET/DECRST)

These are not described in ECMA-48. We list the Set Mode sequences; the Reset Mode sequences are obtained by replacing the final 'h' by 'l'.

DECCKM (por omisisón desactivado): Cuando está activado, las teclas de cursor envían un prefijo ESC O, en vez de ESC [.
DECCOLM (por omisión desactivado = 80 columnas): interruptor de modo 80/132 columnas. En los fuentes del controlador se hace notar que esto solo no basta; alguna utilidad de usuario como resizecons(8) tiene que cambiar los registros de hardware en la tarjeta de vídeo de consola.
DECSCNM (por omisión desactivado): Pone el modo de vídeo inverso
DECOM (por omisión desactivado): Cuando está activado, el direccionamiento del cursor es relativo a la esquina superior izquierda de la región de rodadura.
DECAWM (por omisión activado): Activa el paso automático de renglón. En este modo, un carácter gráfico emitido tras la columna 80 (o la 132 si está activado DECCOLM) fuerza un cambio al principio de la siguiente línea.
DECARM (por omisión activado): Activa la auto-repetición del teclado.
Informe de Ratón X10 (por omisión desactivado): Establece el modo de informe a 1 (o lo restaura a 0)—vea abajo.
DECTECM (por omisión activado): Hace visible el cursor.
Informe de Ratón X11 (por omisión desactivado): Establece el modo de informe a 2 (o lo restaura a 0)—vea abajo.

Secuencias Privadas de Consola de Linux CSI

The following sequences are neither ECMA-48 nor native VT102. They are native to the Linux console driver. Colors are in SGR parameters: 0 = black, 1 = red, 2 = green, 3 = brown, 4 = blue, 5 = magenta, 6 = cyan, 7 = white; 8–15 = bright versions of 0–7.

ESC [ 1 ; n ] Pone el color n como el de subrayado.
ESC [ 2 ; n ] Pone el color n como el disminuido.
ESC [ 8 ] Hace al color actual el de los atributos predeterminados
ESC [ 9 ; n ] Pone el tiempo de espera del blanqueado de la terminal a n min.
ESC [ 10 ; n ] Establece la frecuencia del pito en Hz.
ESC [ 11 ; n ] Establece la duración del pitido en ms.
ESC [ 12 ; n ] Trae al frente la consola especificada.
ESC [ 13 ] Quita el blanco de la pantalla.
ESC [ 14 ; n ] Establece el intervalo de apagado VESA en min.
ESC [ 15 ] Bring the previous console to the front (since Linux 2.6.0).
ESC [ 16 ; n ] Set the cursor blink interval in milliseconds (since Linux 4.2).

Character sets

El núcleo sabe de 4 traducciones de bytes a símbolos de la pantalla de la consola. Las cuatro tablas son: a) Latin1 -> PC, b) gráficos VT100 -> PC, c) PC -> PC, d) definida por el usuario.

There are two character sets, called G0 and G1, and one of them is the current character set. (Initially G0.) Typing ^N causes G1 to become current, ^O causes G0 to become current.

Estas variables G0 y G1 apuntan a una tabla de traducción, y pueden ser cambiadas por el usuario. Inicialmente apuntan a las tablas a) y b) respectivamente. Las secuencias ESC ( B y ESC ( 0 y ESC ( U y ESC ( K causan que G0 apunte a la tabla a), b), c) y d) respectivamente. Las secuencias ESC ) B y ESC ) 0 y ESC ) U y ESC ) K causan que G1 apunte a la tabla a), b), c) y d), respectivamente.

The sequence ESC c causes a terminal reset, which is what you want if the screen is all garbled. The oft-advised "echo ^V^O" will make only G0 current, but there is no guarantee that G0 points at table a). In some distributions there is a program reset(1) that just does "echo ^[c". If your terminfo entry for the console is correct (and has an entry rs1=\Ec), then "tput reset" will also work.

La tabla de asociación definida por el usuario puede ponerse con mapscrn(8). El resultado de la asociación es que si hay un símbolo c que se imprime, se envía a la memoria de vídeo el símbolo s = map[c]. El mapa de bits que corresponde a s se encuentra en la ROM de caracteres, y puede cambiarse mediante setfont(8).

Pista del ratón

La facilidad de seguimiento de pista del ratón sirve para devolver informes de estado del ratón compatibles con xterm(1). Puesto que el controlador de consola no tiene forma de conocer el dispositivo ni tipo del ratón, estos informes se devuelven en el flujo de entrada de la consola sólo cuando del controlador de terminal virtual recibe un ioctl de actualización de ratón. Estos ioctls deben ser generados por una aplicación de usuario que haga uso del ratón como el duende gpm(8).

The mouse tracking escape sequences generated by xterm(1) encode numeric parameters in a single character as value+040. For example, '!' is 1. The screen coordinate system is 1-based.

El modo de compatibilidad X10 envía una secuencia de escape cuando se pulsa un botón codificando la localización y el botón del ratón pulsado. Esto se activa enviando ESC [ ? 9 h y se desactiva con ESC [ ? 9 l. Cuando se pulsa un botón, xterm(1) envía ESC [ M bxy (6 caracteres). Aquí b es botón-1, y x y y son las coordenadas x e y del ratón cuando se pulsó el botón. Esto es el mismo código que el núcleo también produce.

El modo de pista normal (no implementado en Linux 2.0.24) envía una secuencia de escape cuando se pulas o se libera un botón. También se envía información de modificador. Se habilita enviando ESC [ ? 1000 h y se inhabilita con ESC [ ? 1000 l. Cuando se pulas o libera un botón, xterm(1) envía ESC [ M bxy. Los dos bits bajos de b codifican información del botón: 0=MB1 pulsado, 1=MB2 pulsado, 2=MB3 pulsado, 3=liberar. Los bits más altos codifican qué modificadores estaban pulsados cuando el botón se hubo presionado y se añaden juntos: 4=Mayúsculas, 8=Meta, 16=Control. De nuevo x e y son las coordenadas x e y del evento de ratón. La esquina superior izquierda es (1,1).

Comparaciones con otras terminales

Muchos tipos diferentes de terminal se describen, como la consola de Linux, como "compatibles VT100". Aquí se discuten las diferencias entre la consola de Linux y las otras dos más importantes, la VT102 de DEC y la xterm(1).

Manejo de caracteres de control

La VT102 también reconocía los siguientes caracteres de control:

NUL (0x00) no era tenido en cuenta;

ENQ (0x05) lanzaba un mensaje de reconocimiento;

DC1 (0x11, ^Q, XON) resumed transmission;

DC3 (0x13, ^S, XOFF) caused VT100 to ignore (and stop transmitting) all codes except XOFF and XON.

VT100-like DC1/DC3 processing may be enabled by the terminal driver.

El programa xterm(1) (en modo VT100) reconoce los caracteres de control BEL, BS, HT, LF, VT, FF, CR, SO, SI, ESC.

Secuencias de Escape

Secuncias de consola VT100 no implementadas en la consola de Linux:

ESC N SS2 Simple cambio 2. (Selecciona el conjunto de caracteres G2 sólo para el sgute. carácter.)
ESC O SS3 Simple cambio 3. (Selecciona el conjunto de caracteres G3 sólo para el sgute. carácter.)
ESC P DCS Cadena de control de dispositivo (acabada por ESC \)
ESC X SOS Comienzo de cadena.
ESC ^ PM Mensaje de privacidad (acabado por ESC \)
ESC \ ST Terminador de cadena
ESC * ... Designa el conjunto de caracteres G2
ESC + ... Designa el conjunto de caracteres G3

The program xterm(1) (in VT100 mode) recognizes ESC c, ESC # 8, ESC >, ESC =, ESC D, ESC E, ESC H, ESC M, ESC N, ESC O, ESC P ... ESC \, ESC Z (it answers ESC [ ? 1 ; 2 c, "I am a VT100 with advanced video option") and ESC ^ ... ESC \ with the same meanings as indicated above. It accepts ESC (, ESC ), ESC *, ESC + followed by 0, A, B for the DEC special character and line drawing set, UK, and US-ASCII, respectively.

The user can configure xterm(1) to respond to VT220-specific control sequences, and it will identify itself as a VT52, VT100, and up depending on the way it is configured and initialized.

It accepts ESC ] (OSC) for the setting of certain resources. In addition to the ECMA-48 string terminator (ST), xterm(1) accepts a BEL to terminate an OSC string. These are a few of the OSC control sequences recognized by xterm(1):

ESC ] 0 ; txt ST Pone nombre de icono y título de ventana como txt.
ESC ] 1 ; txt ST Pone txt como nombre de icono.
ESC ] 2 ; txt ST Pone txt como título de ventana.
ESC ] 4 ; num; txt ST Set ANSI color num to txt.
ESC ] 10 ; txt ST Set dynamic text color to txt.
ESC ] 4 6 ; nombre ST Cambia el nombre del fichero de registro a log.
(normalmente deshabilitado por una opción de tiempo de compilación)
ESC ] 5 0 ; fn ST Pone fn como el tipo de letra.

It recognizes the following with slightly modified meaning (saving more state, behaving closer to VT100/VT220):

ESC 7 DECSC Salva el cursor
ESC 8 DECRC Restaura el cursor

También reconoce

ESC F Cursor a esquina inferior izda. de la pantalla (si
xterm(1)'s hpLowerleftBugCompat resource)
ESC l Bloqueo de memoria (por terminales HP).
Bloquea la memoria sobre el cursor.
ESC m Desbloqueo de memoria (por terminales HP).
ESC n LS2 Invoca el conjunto de caracteres G2.
ESC o LS3 Invoca el conjunto de caracteres G3.
ESC | LS3R Invoca el conjunto de caracteres G3 como GR.
No tiene efecto visible en xterm.
ESC } LS2R Invoca el conjunto de caracteres G2 como GR.
No tiene efecto visible en xterm.
ESC ~ LS1R Invoca el conjunto de caracteres G1 como GR.
No tiene efecto visible en xterm.

It also recognizes ESC % and provides a more complete UTF-8 implementation than Linux console.

Secuencias CSI

Old versions of xterm(1), for example, from X11R5, interpret the blink SGR as a bold SGR. Later versions which implemented ANSI colors, for example, XFree86 3.1.2A in 1995, improved this by allowing the blink attribute to be displayed as a color. Modern versions of xterm implement blink SGR as blinking text and still allow colored text as an alternate rendering of SGRs. Stock X11R6 versions did not recognize the color-setting SGRs until the X11R6.8 release, which incorporated XFree86 xterm. All ECMA-48 CSI sequences recognized by Linux are also recognized by xterm, however xterm(1) implements several ECMA-48 and DEC control sequences not recognized by Linux.

The xterm(1) program recognizes all of the DEC Private Mode sequences listed above, but none of the Linux private-mode sequences. For discussion of xterm(1)'s own private-mode sequences, refer to the Xterm Control Sequences document by Edward Moy, Stephen Gildea, and Thomas E. Dickey available with the X distribution. That document, though terse, is much longer than this manual page. For a chronological overview,

details changes to xterm.

The vttest program

demonstrates many of these control sequences. The xterm(1) source distribution also contains sample scripts which exercise other features.

NOTAS

ESC 8 (DECRC) is not able to restore the character set changed with ESC %.

ERRORES

En 2.0.23, CSI no funciona, y NUL es tenido en cuenta dentro de secuencias de escape.

Some older kernel versions (after 2.0) interpret 8-bit control sequences. These "C1 controls" use codes between 128 and 159 to replace ESC [, ESC ] and similar two-byte control sequence initiators. There are fragments of that in modern kernels (either overlooked or broken by changes to support UTF-8), but the implementation is incomplete and should be regarded as unreliable.

Linux "private mode" sequences do not follow the rules in ECMA-48 for private mode control sequences. In particular, those ending with ] do not use a standard terminating character. The OSC (set palette) sequence is a greater problem, since xterm(1) may interpret this as a control sequence which requires a string terminator (ST). Unlike the setterm(1) sequences which will be ignored (since they are invalid control sequences), the palette sequence will make xterm(1) appear to hang (though pressing the return-key will fix that). To accommodate applications which have been hardcoded to use Linux control sequences, set the xterm(1) resource brokenLinuxOSC to true.

An older version of this document implied that Linux recognizes the ECMA-48 control sequence for invisible text. It is ignored.

VÉASE TAMBIÉN

ioctl_console(2), charsets(7)

COLOFÓN

Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN

La traducción al español de esta página del manual fue creada por Gerardo Aburruzaga García <gerardo.aburruzaga@uca.es>

Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.

Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org>..

13 Agosto 2020 Linux