Diferencia entre revisiones de «Interfaces de usuario gráficas y de línea de comandos»
(Troceando interface de usuario) |
|||
(No se muestran 4 ediciones intermedias de otro usuario) | |||
Línea 1: | Línea 1: | ||
+ | {{:Curso_Formación_en_Vitalinux_EDU_DGA/_Nav}} | ||
<includeonly>= Interfaces de Usuario Gráficas y de línea de Comandos =</includeonly> | <includeonly>= Interfaces de Usuario Gráficas y de línea de Comandos =</includeonly> | ||
A diferencia de otros sistemas operativos GNU/Linux dispone de dos interfaces de comunicación con el usuario: (1) Una interfaz gráfica al estilo de Microsoft Windows y (2) una interfaz de línea de comandos, similar a MS-DOS pero con muchísima más potencia. En realidad, la interfaz Gráfica, GUI, no es más que un programa en ejecución o proceso lanzado de manera automatizada desde la interfaz de línea de comandos tras arrancar el equipo. Eso significa, que el control siempre lo tendremos desde la interfaz de línea de comandos, y desde ella podremos controlar todo el entorno gráfico. Además GNU/Linux se caracteriza porque es un sistema operativo multiusuario permitiendo que varios usuarios puedan estar trabajando de manera independiente en la misma máquina. | A diferencia de otros sistemas operativos GNU/Linux dispone de dos interfaces de comunicación con el usuario: (1) Una interfaz gráfica al estilo de Microsoft Windows y (2) una interfaz de línea de comandos, similar a MS-DOS pero con muchísima más potencia. En realidad, la interfaz Gráfica, GUI, no es más que un programa en ejecución o proceso lanzado de manera automatizada desde la interfaz de línea de comandos tras arrancar el equipo. Eso significa, que el control siempre lo tendremos desde la interfaz de línea de comandos, y desde ella podremos controlar todo el entorno gráfico. Además GNU/Linux se caracteriza porque es un sistema operativo multiusuario permitiendo que varios usuarios puedan estar trabajando de manera independiente en la misma máquina. | ||
Línea 130: | Línea 131: | ||
− | {| style="border-spacing:0;" | + | {| border="1" style="border-spacing:0;" |
| style="background-color:#cccccc;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''Comando y Descripción'''</center> | | style="background-color:#cccccc;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''Comando y Descripción'''</center> | ||
| style="background-color:#cccccc;border:0.05pt solid #000000;padding:0.097cm;"| <center>'''Sintaxis y Ejemplos'''</center> | | style="background-color:#cccccc;border:0.05pt solid #000000;padding:0.097cm;"| <center>'''Sintaxis y Ejemplos'''</center> | ||
Línea 230: | Línea 231: | ||
|} | |} | ||
− | {| style="border-spacing:0;" | + | |
+ | {| border="1" style="border-spacing:0;" | ||
| style="background-color:#ff9900;border:0.05pt solid #000000;padding:0.097cm;"| <center>'''¡¡Importante!!'''</center> | | style="background-color:#ff9900;border:0.05pt solid #000000;padding:0.097cm;"| <center>'''¡¡Importante!!'''</center> | ||
Línea 246: | Línea 248: | ||
|} | |} | ||
+ | |||
=== Ej. práctico: Gestión de Usuarios y Permisos === | === Ej. práctico: Gestión de Usuarios y Permisos === | ||
A modo de ejemplo, a continuación se muestra como crear los grupos de usuarios '''grupo1''' y '''grupo2''', y los usuarios '''usu1''', …, '''usu5''' dentro de los grupos anteriores, teniendo en cuenta las especificaciones de la siguiente tabla: | A modo de ejemplo, a continuación se muestra como crear los grupos de usuarios '''grupo1''' y '''grupo2''', y los usuarios '''usu1''', …, '''usu5''' dentro de los grupos anteriores, teniendo en cuenta las especificaciones de la siguiente tabla: | ||
Línea 251: | Línea 254: | ||
− | {| style="border-spacing:0;" | + | {| border="1" style="border-spacing:0;" |
| style="background-color:#aea79f;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''Usuarios'''</center> | | style="background-color:#aea79f;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''Usuarios'''</center> | ||
| style="background-color:#aea79f;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''Grupo Usuarios'''</center> | | style="background-color:#aea79f;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''Grupo Usuarios'''</center> | ||
Línea 295: | Línea 298: | ||
Comenzaremos creando el esqueleto de HOME que queremos que tengan los usuarios, según se ha especificado en el enunciado, y después crearemos los grupos y usuarios respectivamente. En concreto, a modo de ejemplo, el esqueleto HOME del usuario estará compuesto por dos directorios personales, datos y juegos, un archivo de bienvenida, bienvenido.txt, y un acceso directo a los sitios web alojados en la máquina (''Apache sugiere almacenarlos en /var/www''): | Comenzaremos creando el esqueleto de HOME que queremos que tengan los usuarios, según se ha especificado en el enunciado, y después crearemos los grupos y usuarios respectivamente. En concreto, a modo de ejemplo, el esqueleto HOME del usuario estará compuesto por dos directorios personales, datos y juegos, un archivo de bienvenida, bienvenido.txt, y un acceso directo a los sitios web alojados en la máquina (''Apache sugiere almacenarlos en /var/www''): | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | mkdir -p /etc/skel-usuarios/datos /etc/skel-usuarios/juegos | ||
+ | echo "Bienvenidos a este servidor!! ..." > /etc/skel-usuarios/bienvenido.txt | ||
+ | ln -s /var/www /etc/skel-usuarios/sitiosweb-apache | ||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | groupadd grupo1 | ||
+ | groupadd grupo2 | ||
+ | useradd -m -d /mnt/misusuarios/usu1 -s /bin/false \ | ||
+ | -g grupo1 -k /etc/skel-usuarios usu1 | ||
+ | useradd -m -d /mnt/misusuarios/usu2 -s /bin/false \ | ||
+ | -g grupo1 -k /etc/skel-usuarios usu2 | ||
+ | useradd -m -d /mnt/misusuarios/usu3 -s /bin/false \ | ||
+ | -g grupo1 -k /etc/skel-usuarios usu3 | ||
− | + | useradd -m -d /mnt/misusuarios/usu4 -s /bin/bash \ | |
− | + | -g grupo2 -k /etc/skel-usuarios usu4 | |
− | + | useradd -m -d /mnt/misusuarios/usu5 -s /bin/bash \ | |
− | + | -g grupo2 -k /etc/skel-usuarios usu5 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | passwd usu1 | ||
+ | passwd usu2 | ||
+ | passwd usu3 | ||
+ | passwd usu4 | ||
+ | passwd usu5 | ||
+ | </syntaxhighlight> | ||
Por último, para comprobar que el esqueleto establecido en '''/etc/skel-usuarios '''de directorios y archivos se ha creado correctamente para cada uno de los usuarios anteriores, podría listarse el contenido de alguno de los directorios HOME, además de listar los grupos a los que pertenece el usuario: | Por último, para comprobar que el esqueleto establecido en '''/etc/skel-usuarios '''de directorios y archivos se ha creado correctamente para cada uno de los usuarios anteriores, podría listarse el contenido de alguno de los directorios HOME, además de listar los grupos a los que pertenece el usuario: | ||
− | + | <syntaxhighlight lang="bash"> | |
− | + | ls -l /mnt/misusuarios/usu1 | |
− | + | id | |
− | + | </syntaxhighlight> | |
− | |||
=== Interactuar con el sistema de ficheros desde la LUI === | === Interactuar con el sistema de ficheros desde la LUI === | ||
Línea 362: | Línea 348: | ||
− | {| style="border-spacing:0;" | + | {| style="border-spacing:0;" border="1" |
− | | style="background-color:#999999;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''Directorio'''</center> | + | | border="1" style="background-color:#999999;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''Directorio'''</center> |
− | | style="background-color:#999999;border:0.05pt solid #000000;padding:0.097cm;"| <center>'''Función'''</center> | + | | border="1" style="background-color:#999999;border:0.05pt solid #000000;padding:0.097cm;"| <center>'''Función'''</center> |
|- | |- | ||
− | | style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''/home'''</center> | + | | border="1" style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''/home'''</center> |
− | | style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Directorio por defecto donde se almacenan los perfiles de los usuarios. Cuando se crea un nuevo usuario en el sistema se le asigna un directorio HOME, '''/home/<nombre-usuario>''', sobre el cual tiene todos los permisos de lectura y escritura</center> | + | | border="1" style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Directorio por defecto donde se almacenan los perfiles de los usuarios. Cuando se crea un nuevo usuario en el sistema se le asigna un directorio HOME, '''/home/<nombre-usuario>''', sobre el cual tiene todos los permisos de lectura y escritura</center> |
|- | |- | ||
− | | style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''/media'''</center> | + | | border="1" style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''/media'''</center> |
− | | style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Directorio que contiene los directorios o puntos de montaje de los dispositivos de almacenamiento externos que se conectan al sistema</center> | + | | border="1" style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Directorio que contiene los directorios o puntos de montaje de los dispositivos de almacenamiento externos que se conectan al sistema</center> |
|- | |- | ||
− | | style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''/bin /sbin /usr/bin /usr/sbin'''</center> | + | | border="1" style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''/bin /sbin /usr/bin /usr/sbin'''</center> |
− | | style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Directorios que contienen los ejecutables del sistema</center> | + | | border="1" style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Directorios que contienen los ejecutables del sistema</center> |
|} | |} | ||
Línea 383: | Línea 369: | ||
− | {| style="border-spacing:0;" | + | {| border="1" style="border-spacing:0;" |
− | | style="background-color:#999999;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''Comandos'''</center> | + | | border="1" style="background-color:#999999;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''Comandos'''</center> |
− | | style="background-color:#999999;border:0.05pt solid #000000;padding:0.097cm;"| <center>'''Descripción'''</center> | + | | border="1" style="background-color:#999999;border:0.05pt solid #000000;padding:0.097cm;"| <center>'''Descripción'''</center> |
|- | |- | ||
− | | style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''pwd'''</center> | + | | border="1" style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''pwd'''</center> |
− | | style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permite conocer el directorio en el que nos encontramos</center> | + | | border="1" style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permite conocer el directorio en el que nos encontramos</center> |
|- | |- | ||
− | | style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''ls -lth'''</center> | + | | border="1" style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''ls -lth'''</center> |
− | | style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Lista los archivos y directorios que contiene el directorio en el que te encuentras. Al añadirle opciones podemos obtener toda la información disponible de esos archivos y directorios</center> | + | | border="1" style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Lista los archivos y directorios que contiene el directorio en el que te encuentras. Al añadirle opciones podemos obtener toda la información disponible de esos archivos y directorios</center> |
|- | |- | ||
− | | style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''cp origen destino'''</center> | + | | border="1" style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''cp origen destino'''</center> |
<center>'''rsync -ahrlt origen destino'''</center> | <center>'''rsync -ahrlt origen destino'''</center> | ||
− | | style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permiten copiar archivos o directorios. Además rsync tiene la característica de que hace una copia incremental</center> | + | | border="1" style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permiten copiar archivos o directorios. Además rsync tiene la característica de que hace una copia incremental</center> |
|- | |- | ||
− | | style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''mv origen destino'''</center> | + | | border="1" style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''mv origen destino'''</center> |
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permite mover un archivo de ubicación o renombrarlo</center> | | style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permite mover un archivo de ubicación o renombrarlo</center> | ||
|- | |- | ||
− | | style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''mkdir directorio'''</center> | + | | border="1" style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''mkdir directorio'''</center> |
<center>'''rm -Rf directorio'''</center> | <center>'''rm -Rf directorio'''</center> | ||
− | | style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permiten crear y borrar un directorio con todo su contenido</center> | + | | border="1" style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permiten crear y borrar un directorio con todo su contenido</center> |
|- | |- | ||
− | | style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''more archivo'''</center> | + | | border="1" style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''more archivo'''</center> |
<center>'''cat archivo'''</center> | <center>'''cat archivo'''</center> | ||
<center>'''less archivo'''</center> | <center>'''less archivo'''</center> | ||
− | | style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permiten visualizar el contenido de un archivo desde la línea de comandos</center> | + | | border="1" style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permiten visualizar el contenido de un archivo desde la línea de comandos</center> |
|- | |- | ||
− | | style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''nano archivo'''</center> | + | | border="1" style="background-color:#cccccc;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding:0.097cm;"| <center>'''nano archivo'''</center> |
− | | style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permite editar un archivo desde la línea de comandos</center> | + | | border="1" style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding:0.097cm;"| <center>Nos permite editar un archivo desde la línea de comandos</center> |
|} | |} | ||
+ | |||
=== Ej. práctico: Interactuar con el sistema de ficheros === | === Ej. práctico: Interactuar con el sistema de ficheros === | ||
A modo de ejemplo visualiza y edita el archivo de configuración de Remasterys: | A modo de ejemplo visualiza y edita el archivo de configuración de Remasterys: |
Revisión actual del 21:14 23 feb 2016
Sumario
- 1 Introducción a la Interfaz Gráfica
- 2 Introducción a la Línea de Comandos
- 2.1 Gestión de Usuarios y Permisos en GNU/Linux
- 2.2 Ej. práctico: Gestión de Usuarios y Permisos
- 2.3 Interactuar con el sistema de ficheros desde la LUI
- 2.4 Ej. práctico: Interactuar con el sistema de ficheros
- 2.5 Ejecutar Aplicaciones desde la LUI
- 2.6 Ej. práctico: Ejecutar Aplicaciones
- 2.7 Montar unidades de almacenamiento
- 2.8 Ej. práctico: Montar unidades de almacenamiento
- 2.9 Ej. práctico: Información sobre procesos y memoria RAM
- 2.10 Ej. práctico: Edición de archivos
- 2.11 Ej. práctico: Creación de Alias de comandos
- 2.12 Ej. práctico: Gestión de Servicios
- 2.13 Ej. práctico: Reiniciar Entorno Gráfico
- 2.14 Ej. práctico: Forzar el Cierre de la Sesión Gráfica
- 2.15 Ej. práctico: Forzar Reinicio de la Máquina
A diferencia de otros sistemas operativos GNU/Linux dispone de dos interfaces de comunicación con el usuario: (1) Una interfaz gráfica al estilo de Microsoft Windows y (2) una interfaz de línea de comandos, similar a MS-DOS pero con muchísima más potencia. En realidad, la interfaz Gráfica, GUI, no es más que un programa en ejecución o proceso lanzado de manera automatizada desde la interfaz de línea de comandos tras arrancar el equipo. Eso significa, que el control siempre lo tendremos desde la interfaz de línea de comandos, y desde ella podremos controlar todo el entorno gráfico. Además GNU/Linux se caracteriza porque es un sistema operativo multiusuario permitiendo que varios usuarios puedan estar trabajando de manera independiente en la misma máquina.
En concreto, cualquier sistema GNU/Linux dispone de varias terminales de línea de comandos disponibles para iniciar sesión accesibles mediante la combinación CONTROL+ALT+FX (X=1,2,3,4,5,6) y una interfaz gráfica por defecto accesible mediante CONTROL+ALT+F7.
Introducción a la Interfaz Gráfica
La interfaz gráfica de usuario GUI no es más que una aplicación más que se lanza al iniciarse la máquina. Debido a que GNU/Linux es software libre existen multitud de entornos gráficos disponibles que el usuario puede probar y quedarse con el más le guste. Entre los más conocidos cabría destacar a KDE, Gnome2, Gnome-Shell, XFCE, LXDE, etc. En concreto, LVitalinux al basarse en LUbuntu tiene implementado el entorno LXDE (Lightweight X11 Desktop Environment), el cual se caracteriza por ser extremadamente ligero al requerir muy pocos recursos (CPU y RAM) del equipo, razón por la cual puede ser instalado en equipos viejos de características reducidas.
Señalar que aunque el entorno de escritorio gráfico LXDE instalado por defecto es muy liviano y puede ejecutarse con cierta fluidez en equipos con muy pocos recursos, si las aplicaciones que se instalan sobre él (p.e. navegador Google Chrome, editor de imágenes GIMP, etc.) no lo son, y son estas las que hacen que el sistema acabe colapsándose no permitiéndonos el poder ejecutar varias simultáneamente.
Ej. práctico: Ejecutar Aplicaciones
Para lanzar o ejecutar una determinada aplicación en LVitalinux puede seguirse diversos caminos:
(1) Desde el menú principal. Las aplicaciones están categorizadas de tal forma que en función de la categoría a la que pertenecen las encontraremos en un submenú u otro.
(2) Mediante el lanzador de aplicaciones circular Gnome-Pie. Para acceder a él deberemos pulsar la tecla Super (tecla de Windows). Estos menús circulares podemos personalizarlos accediendo al icono de gnome-pie que hay en la parte inferior derecha.
![001-sesion2-MIAS.png](/images/thumb/1/19/001-sesion2-MIAS.png/400px-001-sesion2-MIAS.png)
(3) Mediante el lanzador de acceso rápido a aplicaciones Synapse.
![002-sesion2-MIAS.png](/images/thumb/6/61/002-sesion2-MIAS.png/400px-002-sesion2-MIAS.png)
Esta última opción, Synapse, es la opción más recomendada por su eficiencia.
Como ejercicio se puede probar a lanzar tu navegador preferido de las tres formas indicadas anteriormente.
Ej. práctico: Personalización del Entorno
La personalización del Entorno estará supeditada a si se ha optado en la post-instalación de LVitalinux por alguna forma de congelación (Escritorio o Perfil).
En principio, para poder personalizar en entorno deberemos ir al menú “Preferencias” del menú principal y seleccionar alguna de las opciones de personalización: “Preferencias de Escritorio”, “Personalizar apariencia y comportamiento”, “Aplicaciones predeterminadas para LXSession”, etc.
![005-sesion2-MIAS.png](/images/thumb/1/14/005-sesion2-MIAS.png/400px-005-sesion2-MIAS.png)
(1) Preferencias de Escritorio: Permite personalizar el entorno de Escritorio.
![006-sesion2-MIAS.png](/images/thumb/6/69/006-sesion2-MIAS.png/400px-006-sesion2-MIAS.png)
(2) Personalizar apariencia y comportamiento: Nos permite modificar el aspecto de nuestro entorno.
![007-sesion2-MIAS.png](/images/thumb/e/e3/007-sesion2-MIAS.png/400px-007-sesion2-MIAS.png)
(3) Aplicaciones predeterminadas para LXSession: Nos permite decidir que aplicaciones serán las predeterminadas en nuestra sesión (p.e. decidir que programa por defecto reproducirá la música).
![008-sesion2-MIAS.png](/images/thumb/5/52/008-sesion2-MIAS.png/400px-008-sesion2-MIAS.png)
Otra opción de personalización es accediendo directamente al “Lubuntu Control Center”, del cual se hablará más adelante.
![009-sesion2-MIAS.png](/images/thumb/f/f5/009-sesion2-MIAS.png/400px-009-sesion2-MIAS.png)
Ej. práctico: Action Scripts – Personalización del Explorador de Archivos
Los Action Scripts son un tipo de aplicaciones que nos permiten personalizar el entorno de nuestro Explorador de Archivos siguiendo un estándar.
![010-sesion2-MIAS.png](/images/thumb/7/7d/010-sesion2-MIAS.png/400px-010-sesion2-MIAS.png)
Por ejemplo, observando en la captura de pantalla anterior podemos advertir que al pinchar con el botón derecho del ratón sobre un elemento del explorador de archivos aparecen una serie de opciones como “Desmontar USB”, “Abrir como Root”, “VitaScripts”, etc. Todo este tipo de aplicaciones son funcionalidades añadidas que aumentan la potencia del explorador de archivos y nos evitan hacer uso de otras aplicaciones específicas.
A modo de ejemplo, instalaremos un paquete que nos habilite un nuevo Action Script que nos permita comprimir imágenes en formatos PNG y JPEG (para comprimir JPEG online: http://compressjpeg.com/es/).
$ jpegoptim --dest=<path> --force --max=<quality> imagen1.jpg
$ pngnq -f $img
$ pngquant -force <ncolors> pngfile
$ pngquant 64 image.png
Introducción a la Línea de Comandos
Tal como ya se ha comentado anteriormente, en GNU/Linux la interfaz gráfica, GUI, es dependiente de la interfaz de línea de comandos, LUI. Por dicha razón, la administración del sistema a través de la interfaz de línea de comandos en GNU/Linux es más potente y eficiente que la GUI, razón por la cual es muy importante tener un conocimiento básico sobre ella. Para acceder a la LUI será necesario acceder a una terminal de comandos de alguna de las siguientes formas:
Gestión de Usuarios y Permisos en GNU/Linux
La administración de cuentas de usuario en GNU/Linux puede realizarse a través de aplicaciones en modo gráfico (GUI, Graphics User Interface) o en modo comando (CUI, Command User Interface). En relación a las aplicaciones gráficas GUI suelen ser dependientes de la distribución de GNU/Linux con la que se este trabajando, lo que implica que el nombre de dicha aplicación y su aspecto será diferente en cada una de ellas (Ubuntu, OpenSuse, etc.). Por contra, en un entorno CUI (Interfaz de Usuario de Línea de Comandos), los comandos GNU/Linux utilizados en la gestión de cuentas de usuario suelen ser independientes de la distribución, razón por la cual, en esta práctica se hará uso de ellos.
En concreto, para la gestión de cuentas de usuario y grupos de usuarios en GNU/Linux disponemos de los siguientes comandos: "useradd", "usermod" "userdel", "groupadd", "groupmod", "groupdel" y "passwd". Su sintaxis podríamos resumirla a grandes rasgos de la siguiente forma:
useradd -m -d "directorio HOME" -s "SHELL" \
-g "grupo usuarios" -G "grupos secundarios" \ "nombre usuario" useradd -m -d /home/dominio/usuario1 -s /bin/bash \ -g dominio -G empleados,gestores usuario1 useradd -m -d /home/empleado1 -s /bin/bash -g empleados \ -k /etc/skel-empleado -G empresa empleado1 | |
usermod -m -d "directorio HOME" -s "SHELL" \
-g "grupo usuarios" -G "grupos secundarios" "nombre usuario" usermod -G administradores usuario1 usermod -d /mnt/usuarios/usuario1 -g empleados usuario1 | |
userdel "nombre usuario"
userdel usuario1 | |
groupadd "nombre grupo"
groupadd sercretaria | |
groupmod -n "nuevo nombre grupo" "nombre grupo"
groupmod -n gestion secretaria | |
groupdel "nombre grupo"
groupdel gestion | |
passwd "nombre usuario" | |
id “nombre usuario” | |
chown -R usu archivo/directorio
chgrp -R group archivo/directorio chown -R usu.group archivo/directorio | |
chmod u+rwx,g+rx-x,o-rwx archivo/directorio |
A la hora de crear un usuario mediante useradd hay algunas de las opciones que sería interesante conocer en detalle:
- Opciones "-g" y "-G": nos permiten agregar al usuario a algún grupo del sistema. Con la opción "-g" le cual será el grupo principal al que pertenecerá, y con "-G" indicamos otros posibles grupos de pertenencia. Es necesario que el grupo o grupos indicados existan previamente, sino será necesario crearlos mediante la aplicación "groupadd". - Opción "-s": indica la shell o interprete de comandos que será asignado al usuario. En función de la shell asignada el usuario contará con la posibilidad de ejecutar en el equipo una mayor o menor cantidad de comandos del sistema. Ejecutando "more /etc/shells" podemos conocer las shells que están disponibles en nuestro sistema bajo las cuales un usuario puede iniciar sesión el la misma. Destacar que en ocasiones, por cuestiones de seguridad, nos puede interesar que el usuario a crear no tenga una shell válida, /bin/false, para evitar que el usuario no pueda iniciar sesión por determinadas vías (p.e. directamente en el equipo, vía ssh, etc.), y permitir únicamente acceso a aquellos servicios en los cuales se haya indicado expresamente (p.e. samba, proftpd, etc.). - Opción "-k": nos permite crear a un usuario con un perfil especifico, es decir, con una estructura de directorios y archivos concreta. Por ejemplo, si quisiéramos que al crear un usuario este ya dispusiera de un conjunto preconfigurado de directorios y archivos dentro de su directorio HOME podríamos hacer uso de esta opción (ver el siguiente ejercicio como ejemplo). |
Ej. práctico: Gestión de Usuarios y Permisos
A modo de ejemplo, a continuación se muestra como crear los grupos de usuarios grupo1 y grupo2, y los usuarios usu1, …, usu5 dentro de los grupos anteriores, teniendo en cuenta las especificaciones de la siguiente tabla:
| ||||
Para crear las cuentas de usuario y grupos solicitados haremos uso de los comandos del sistema useradd, groupadd y passwd. En el caso de que alguno de los usuarios ya existiese, deberíamos hacer uso del comando usermod.
Comenzaremos creando el esqueleto de HOME que queremos que tengan los usuarios, según se ha especificado en el enunciado, y después crearemos los grupos y usuarios respectivamente. En concreto, a modo de ejemplo, el esqueleto HOME del usuario estará compuesto por dos directorios personales, datos y juegos, un archivo de bienvenida, bienvenido.txt, y un acceso directo a los sitios web alojados en la máquina (Apache sugiere almacenarlos en /var/www):
<syntaxhighlight lang="bash"> mkdir -p /etc/skel-usuarios/datos /etc/skel-usuarios/juegos echo "Bienvenidos a este servidor!! ..." > /etc/skel-usuarios/bienvenido.txt ln -s /var/www /etc/skel-usuarios/sitiosweb-apache
groupadd grupo1
groupadd grupo2
useradd -m -d /mnt/misusuarios/usu1 -s /bin/false \
-g grupo1 -k /etc/skel-usuarios usu1
useradd -m -d /mnt/misusuarios/usu2 -s /bin/false \
-g grupo1 -k /etc/skel-usuarios usu2
useradd -m -d /mnt/misusuarios/usu3 -s /bin/false \
-g grupo1 -k /etc/skel-usuarios usu3
useradd -m -d /mnt/misusuarios/usu4 -s /bin/bash \ -g grupo2 -k /etc/skel-usuarios usu4 useradd -m -d /mnt/misusuarios/usu5 -s /bin/bash \ -g grupo2 -k /etc/skel-usuarios usu5
passwd usu1 passwd usu2 passwd usu3 passwd usu4 passwd usu5 </syntaxhighlight>
Por último, para comprobar que el esqueleto establecido en /etc/skel-usuarios de directorios y archivos se ha creado correctamente para cada uno de los usuarios anteriores, podría listarse el contenido de alguno de los directorios HOME, además de listar los grupos a los que pertenece el usuario:
<syntaxhighlight lang="bash"> ls -l /mnt/misusuarios/usu1 id </syntaxhighlight>
Interactuar con el sistema de ficheros desde la LUI
El sistema de archivos en GNU/Linux se caracteriza por tener una estructura en árbol invertido con una única raíz (root, /) de la cual cuelgan todos los directorios y archivos del sistema.
![011-sesion2-MIAS.png](/images/thumb/3/3c/011-sesion2-MIAS.png/400px-011-sesion2-MIAS.png)
Por tanto, a diferencia de Windows que hace uso de letras (A:, B:, C:, D:, …) para identificar los dispositivos de almacenamiento, generando tanto árboles de sistema de archivos como dispositivos son detectados, en GNU/Linux a cada dispositivo se le asocia un directorio o punto de montaje dentro del árbol de directorios.
![012-sesion2-MIAS.png](/images/thumb/2/2c/012-sesion2-MIAS.png/400px-012-sesion2-MIAS.png)
De entre todos los directorios que cuelgan de la ráiz del sistema de archivos cabría destacar los siguientes:
Con la finalidad de interactuar con el sistema de archivos de GNU/Linux existen multitud de comandos disponibles para todo tipo de funciones entre los cuales cabría destacar los siguientes:
Ej. práctico: Interactuar con el sistema de ficheros
A modo de ejemplo visualiza y edita el archivo de configuración de Remasterys:
$ less /etc/remastersys.conf
$ sudo su
# cp /etc/remastersys.conf /etc/remastersys.conf.orig
# nano /etc/remastersys.conf
Ejecutar Aplicaciones desde la LUI
Para ejecutar una aplicación en GNU/Linux tenemos la opción de lanzarla desde la interfaz gráfica (*.desktop) o desde la línea de comandos (cat *.desktop | grep Exec). La ventaja de lanzar el comando desde la LUI es que en la terminal se mostrarán los posibles errores o warnings que pudiera haber tanto en su lanzamiento como en su ejecución.
Ej. práctico: Ejecutar Aplicaciones
A modo de ejemplo inicia el navegador Web mozilla firefox desde el entorno gráfico y desde la línea de comandos, o haz uso de remastersys.
$ firefox
$ remastersys clean
$ remastersys backup
Montar unidades de almacenamiento
Para GNU/Linux todo dispositivo de almacenamiento externo queda registrado en el directorio “/dev”. En concreto, los discos que son reconocidos por el sistema deberán figurar como “/dev/sdXY”, donde “X” se corresponderá con una letra (a, b, c, etc.) asociada al orden en que el dispositivo fue detectado, e “Y” será un número (1, 2, 3, etc.) correspondiente a la partición de dicho disco. Por ejemplo, “/dev/sda1” hace referencia a la primera partición (1) del primer (a) disco o dispositivo de almacenamiento detectado.
Para tener acceso a un disco que no haya sido automontado por el sistema será necesario realizar su montaje explicito sobre un directorio del sistema:
$ sudo mount /dev/sdXY /ruta-directorio
Para obtener información de los puntos de montaje del sistema podemos hacer uso de los comandos “df”, “mount” o “cat /etc/mtab”:
$ df -h
$ mount
$ cat /etc/mtab
También existe la posibilidad de enlazar (bind) sobre un directorio el contenido que esta en otro directorio, de tal forma que tendremos dos directorios diferentes para acceder a los mismos contenidos:
$ sudo mount --bind /directorio-origen /directorio-destino
En el caso de que queramos que un montaje se haga de manera automatizada deberemos editar el archivo “/etc/fstab”:
$ cat /etc/fstab
Por contra, quisieramos desmontar o desvincular del sistema de archivos un dispositivo que se encuentra montado será necesario hacer uso del comando “umount”:
$ sudo umount /dev/sdXY
$ sudo umount /ruta-directorio
Ej. práctico: Montar unidades de almacenamiento
A modo de ejemplo, pincharemos un dispositivo USB externo, lo desmontaremos ya que el sistema lo habrá detectado y automontado implícitamente, lo montaremos en otro directorio del sistema, y lo enlazaremos con otro directorio diferente.
$ sudo umount /media/nombre-usuario/dispositivo
$ mkdir /home/nombre-usuario/Desktop/midispositivo
$ sudo mount /dev/sdXY /home/nombre-usuario/Desktop/midispositivo
$ ls /home/nombre-usuario/Desktop/midispositivo
$ mkdir /home/nombre-usuario/Documentos/midispositivo
$ sudo mount -o bind /home/nombre-usuario/Desktop/midispositivo \
/home/nombre-usuario/Documentos/midispositivo
Ej. práctico: Información sobre procesos y memoria RAM
Aunque en el Escritorio disponemos de un Conky Widget que nos informa de la cantidad de CPU y memoria RAM que estamos consumiendo, existe la posibilidad de obtener una información mucho más completa mediante los comando “top” y “htop”. Además, como veremos un poco más adelante, vía “htop” podemos matar cualquier proceso o programa que se encuentre en ejecución tal como se mostrará más adelante en el apartado de “[#gestion-procesos Gestión de Procesos]”.
Para salir de “top” o “htop” debemos pulsar la tecla “q” (quit).
Ej. práctico: Edición de archivos
Como ya se ha mostrado en un ejercicio previo, la forma más sencilla de editar archivos de texto de la interfaz de línea de comandos es hacer uso de “nano” (la opción “-c” nos permite saber en que número de línea del documento nos encontramos).
$ nano -c /ruta-archivo-texto
$ sudo nano /etc/remastersys.conf
$ sudo remastersys clean
$ sudo remastersys backup
Ej. práctico: Creación de Alias de comandos
Si algún comando nos resulta complejo de aprender existe la opción de crear alias personalizados a dicho comando.
$ alias # nos permite conocer los alias que tenemos definidos
$ cd
$ nano .bash_aliases
alias info-sistema='htop'
alias listar='ls -lht'
Ej. práctico: Gestión de Servicios
Todos los servicios que están disponibles en la máquina se encuentran en “/etc/init.d”. Podemos conocer su estado, o reinicarlos añadiendo la opción correspondiente:
$ ls /etc/init.d
$ sudo /etc/init.d/samba # nos dirá las opciones de gestión del servicios
$ sudo /etc/init.d/samba status
$ sudo /etc/init.d/samba restart
Ej. práctico: Reiniciar Entorno Gráfico
El entorno gráfico es un servicio más del equipo llamado lightdm. En el caso de que queramos reiniciarlo simplemente será necesario ejecutar desde una terminal:
$ sudo /etc/init.d/ligthdm restart
Ej. práctico: Forzar el Cierre de la Sesión Gráfica
En el caso de que queramos forzar el cierre de la sesión gráfica de un usuario, simplemente ejecutaremos un comando “killall”:
$ sudo killall -u <nombre-usuario>
Ej. práctico: Forzar Reinicio de la Máquina
A veces nos encontramos con la necesidad de tener que reiniciar nuestro equipo porque se ha quedado totalmente bloqueado. Antes de pulsar el botón de apagado por hardware y provocar un apagado indebido, deberemos tener en cuenta que existe un mecanismo de emergencia que nos permitirá salir dignamente y reiniciar nuestra máquina de la mejor manera.
Para ello debermos pulsar la secuencia de teclas REISUB manteniendo pulsadas al mismo tiempo las teclas ALT e IMPRIMIR-PANTALLA (en muchos portátiles se requiera de una tecla adicional, la tecla de Función, para activar el IMPRIMIR-PANTALLA). Esta combinación de 6 teclas tiene su efecto en teclados QWERTY, siendo el siguiente:
- R lo que hace es dar el control de manera exclusiva al teclado de la máquina.
- E enviará una señal a todas las aplicaciones, digamos, “pidiendo amablemente” que se cierren.
- I envía una señal de finalización inmediata, sin esperar a que reaccionen.
- S sincronizará los cambios en los sistemas de ficheros que estén montados en ese momento.
- U desmontará todos los sistemas de ficheros.
- B reiniciará la máquina, exactamente igual que si pulsáramos en este momento el botón de nuestra máquina. Llegados a este punto también podemos elegir utilizar la letra “O” para apagar la máquina.