PDF de programación - Entornos de usuario

Imágen de pdf Entornos de usuario

Entornos de usuariográfica de visualizaciones

Publicado el 28 de Julio del 2020
377 visualizaciones desde el 28 de Julio del 2020
77,7 KB
12 paginas
Creado hace 6a (06/10/2017)
1. Entornos de usuario

Si has usado una maquina Linux por un tiempo, habras notado que el directorio personal

acumula cierta cantidad de ficheros de arranque con el tiempo. Estos es ocasiones son
llamados ficheros punto debido a que siempre inician con un punto (.). Varios de estos son
creados automáticamente cuando ejecuta por primera vez un programa, y no necesitará

cambiarlos. Este capítulo cubre los ficheros de inicio shell, los cuales en su mayoría se
modifican o reescriben sobre la marcha. Echemos un vistazo a lo que necesitamos para

trabajar con ellos.

1.1. Guía para la creación de ficheros de arranque

Cuando diseñamos ficheros de arranque, tenemos al usuario en mente. Si eres el único

usuario de una máquina, no debes preocuparte mucho porque los errores sólo te afectan
a ti y son fáciles de corregir. No obstante, si estas creando ficheros de arranque que

estarán por defecto para todos los usuarios nuevos en una máquina o red, o si piensas
que alguien puede copiar tus ficheros para usarlos en una máquina diferente, tu tarea
se complica considerablemente. Si comentes un error en un fichero de arranque para 10

usuarios, debes solucionar este error 10 veces.

Mantenga dos objetivos esenciales en mente cuando cree ficheros de arranque para otros
usuarios:

Simplicidad Mantenga un pequeño numero de ficheros de arranque, y mantenga los
ficheros tan pequeños y simples como sea posible para que sean fáciles de modificar
pero difíciles de romper. Cada elemento en un fichero de arranque es solo una cosa

más que romper.

Legibilidad Use extensivamente comentarios en ficheros para tener una buena imagen

de los que hace cada parte.

1.2. Cuando alterar ficheros de arranque

Antes de hacer un cambio a un fichero de arranque, pregúntese si realmente necesita

realizar el cambio. He aquí algunas buenas razones para cambiar ficheros de arranque:

1

Necesita cambiar el indicador por defecto.

Necesita acomodar algún software crítico instalado localmente.

Los ficheros de arranque estan rotos

Si todo funciona en su distribución Linux, sea cuidadoso. Algunas veces los ficheros de

arranque por defecto interactuan con otros ficheros en /etc.

Quizás no querrá leer este capítulo si no piensa cambiar el comportamiento por defecto,
así que examine qué importancia ha de tener este conocimiento para usted.

1.3. Elementos del fichero de arranque shell

¿Qué hay dentro de un fichero de arranque shell? Algunas cosas pueden parecer obvias
como las rutas y avisos. Pero ¿qué debe ser exactamente la ruta? y ¿cómo luce un aviso

razonable? y ¿cuánto es demasiado para poner en un fichero de arranque?

Las siguientes secciones discuten los fundamentos de un fichero de arranque shell—desde
el comando de ruta, aviso, y los alias a través de máscaras de permiso.

1.3.1. La ruta de ejecución

La parte más importante de cualquier fichero de arranque shell es la ruta de ejecución.
La ruta debe cubrir los directorios que contienen cada aplicacioón de interés para un

usuarios regular. Por lo menos, la ruta debe contener estos componentes, en orden:

/usr/local/bin

/usr/bin

/bin

Este orden asegura que usted puede sobreescribir los programas estándar por defecto

con variantes específicas del sitio localizadas en /usr/local.

La mayoría de distribuciones Linux instala ejecutables para casi todos los paquetes de
software en /usr/bin. Hay diferencias ocasionales, como poner los juegos en /usr/games y

2

las aplicaciones gráficas en una ubicación diferente, así que verifique primero los valores

por defecto en su sistema. Y asegúrese de que cada programa de uso general en el
sistema esta disponible a través de uno de los directorios listados arriba. Si no es asi,
su sistema probablemente se saldrá de control. No cambie la ruta por defecto en su

entorno de usuario para acomodar un nuevo directorio de instalación de software. Un
modo simple de acomodar directorios de instalación separados es usar enlaces simbólicos

en /usr/local/bin.

Varios usuarios usan un directorio bin propio para guardar shell scripts y programas, así
que podría agregarlo al frente de la ruta:

$ HOME/bin

Agregar Punto (.) a la ruta Este es un pequeño pero controversial componente de la

ruta de ejecución: el punto. Poner un punto (.) en su ruta permite ejecutar programas
en el directorio actual sin usar ./ al frente del nombre del programa. Esto puede parecer

conveniente cuando se escriben scripts o se compilan programas, pero es una mala idea
por dos razones:

Puede ser un problema de seguridad. Nunca debería poner un punto al frente de
la ruta. Aquí un ejemplo de lo que puede suceder: Un atacante puede poner un

caballo de troya llamado ls en un fichero distribuido a través de internet. Si hay
un punto al final de la ruta, usted será vulnerable cuando se teclee algo como sl

o ks.

Es inconsistente y puede confundir. Un punto en una ruta puede significar que el
comportamiento del comando cambiará de acuerdo al directorio actual.

1.3.2. El manual de ruta

El mnual tradicional de la ruta viene determinado por la variable de entorno MANPATH, pe-
ro no debería cambiarla porque esto sobreescribe el sistema por defecto en /etc/manpath.config.

3

1.3.3. La indicación

Los usuarios experimentados tienden a evitar indicaciones largas, complicadas e inútiles.

En comparación, varios administradores y distribuciones arrastran todo a una indicación
por defecto. Su elección puede reflejar las necesidades de sus usuarios: ubicar el directorio
de trabajo actual, nombre de host y nombre de usuario en la indicación si realmente

resulta de ayuda.

Además, conviene evitar caracteres que significan algo importante para la shell, tales

como:

{ } = & < >

Tener un indicador or defecto en la shell no es lo ideal. Por ejemplo, la indicación por
defecto de bash contiene el nombre de shell y el número de versión.

Esto simplemente hace que la indicación para el final en bash termine con un $ perso-
nalizado:

PS1=’\u\$ ’

La \u es una sustitución para el nombre actual. Otra sustitución popular incluye lo
siguiente:

\h El nombre de host

\! El numero de historial

\w El directorio actual. Debido a que este puede ser largo, puede limitar la visualización

para ajustar el componente final con \W.

\$ $ si está ejecutando con cuenta de usuario, # se es root.

1.3.4. Alias

La unión de cosas es el papel de los alias en los entornos de usuario modernos, una
característica shell que sustituye una cadena por otra antes de ejecutar un comando.
Esto puede ser eficiente para ahorrar tecleo. No obstante, los alias también tienen in-

convenientes:

4

Pueden complicar la manipulación de argumentos.

Son confusos; un comando which puede decirle si algo es un alias, pero no le dice

donde fue definido.

Estan mal vistos en subshells y shells no interactivas; no funcionan en otras shells.

Teniendo estas desventajas, probablemente debería abandonar los alias siempre que sea
posible porque es fácil escribir un función shell o una nueva entrada shell script. Las

computadoras modernas pueden iniciar y ejecutar shells tan rápidamente que la diferen-
cia entre un alias y un comando totalmente nuevo no debería notarse.

Hay que decir que los alias se manejan cuando se desea alterar una parte del entorno
shell. No puede cambiar una variable de entorno con un shell script, porque los scripts

se ejecutan como subshells.

1.3.5. La máscara de permisos

La shell posee umask para facilitar la asignación de permisos por defecto. Debe ejecutar
umask en uno de sus ficheros de arranque para hacer que que cualquier programa que
ejecute cree los ficheros con los permisos deseados. Hay dos opciones razonables para

esto:

077 Esta mascara tiene permisos más restrictivos porque no da a ningún usuario acceso
a nuevos ficheros y directorios. Esto a menudo es apropiado para sistemas multi-
usuario donde no se quiere que otros usuarios puedan visualizar ninguno de sus

ficheros. No obstante, cuando se pone por defecto, puede traer problemas cuando
sus usuarios quieren compartir ficheros y no entienden cómo ajustar los permisos

correctamente.

022 Esta máscara da a otros usuarios acceso para leer nuevos ficheros y directorios. Esto
puede ser importante en un sistema de usuario único porque varios demonios que
se ejecutan como pseudo-usuarios no pueden ver ficheros y directorios creados con

el modo restrictivo 077.

5

1.4. Orden de fichero de arranque y ejemplos

Ahora que sabe qué poner dentro de ficheros de arranque shell, es tiempo para ver
algunos ejemplos específicos. Sorpresivamente, una de als partes más difíciles y confusas
en la creación de ficheros de arranque es determinar cuales usar. Las siguientes secciones

cubren las dos shells más populares de Unix: bash y tcsh.

1.4.1. La shell bash

En bash, se pueden elegir los ficheros de arranque .bash_profile, .bash_login, y
.bashrc. ¿Cuál es la indicada para su ruta de ejecución, ruta de manual, indicación,
alias y máscara de permiso? La respuesta es que usted debe tener un fichero .bashrc

acompañado por un enlace simbólico .bash_profile apuntando a .bashrc porque hay varios
tipos diferentes de instancias bash shell.

Los dos principales tipos de instancias shell son la interactiva y la no interactiva, pero de

ellas, sólo las shell interactivas son de interés porque las shells no interactivas usualmente
no leen ningún fichero de arranque. Las shells interactivas son de las que se usan para
ejecutar comandos desde una terminal, y pueden ser clasificadas como de inicio de sesión

o no-inicio de sesión.

Shells de inicio de sesión Tradicionalmente, una shell de esta clase es que la que

se tiene cuando se ingresa a un sistema con la terminal usando un programa como
/bin/login. Ingresar remotamente con SSH también le da una shell de inicio de sesión.
La idea básica es que se trata de una shell inicial. usted puede ver si es una shell de

inicio de sesión ejecutando echo $0; si el primer caracter es -, la shell es de logueo.

Cuando bash se ejecuta como shell de inicio de sesión, ejecuta /etc/profile. Lueg
  • Links de descarga
http://lwp-l.com/pdf17964

Comentarios de: Entornos de usuario (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad