Respuestas
jun. 24, 2007 - 02:55
Como todo en SOs, la respuesta es depende:
En primer lugar, los entornos de usuario: no sé si te refieres concretamente al contenido de la variable ENV o al conjunto de configuraciones de usuario.
En primer lugar se carga el ENV "general", lo hacela la shell desde donde se ejecuta kdm y kdinit (presumo que si usas suse, usas kde. corrígeme si me equivoco), y lo hace generalmente (aunque depende de la distro) desde /etc/bash.bashrc. Esas configuraciones se exportan a los hijos que crea, luego el entorno se reproduce hasta tu kde.
Una vez cargado esto, kde tiene su propia batería de configuraciones que se distribuyen en comunes para todos los usuarios /opt/kde3/share/(apps/config/) y las propias de cada uno ~/.kde/share/(apps/config/).
Luego, diferentes aplicaciones toman sus datos de diferentes lugares. Pregunta si necesitas saber alguna en concreto.
Para terminar de responderte, te diré que en mi experiencia si creas un usuario pero no su carpeta correspondiente (o modificas el archivo de configuración para que busque en otro lugar) no podrás hacer un login con él.
Un saludo.
jul. 02, 2007 - 11:53
jul. 06, 2007 - 04:18
En primer lugar, cualquier aplicación ya sea un ejecutable típico o un script van a contar inicialmente con el mismo entorno (en las mismas condiciones) ya que al ejecutar un script lo que hace el sistema es invocar el ejecutable intérprete.
Otra cosa es después dependiendo del lenguaje (de script o no) cómo se puede acceder al entorno.
Si estás familiarizado con bash, por ejemplo, si en una terminal escribes $ y pulsas tabulador dos veces te mostrará todas las variables disponibles. Generalmente, las que están en mayúscula son las que están disponibles como entorno.
Si precisas saber un listado completo, es muy fácil sacarlo desde un programa en C:
incluyendo la biblioteca unistd.h, declaras la variable
extern char **environ;
que es un array de char*, cada uno de ellos de la forma
NOMBRE=VALOR
y acabado en (char*)NULL (para saber cuándo acaba la lista). man environ o http://man.cx/environ(7)/es para más info :D
Un código parecido al siguiente te mostraría el listado de variables disponibles en el entorno:
#include
#include
extern char** environ;
int main(int argc,char* argv[]) {
int i;
for (i=0;environ[i];i++) {
printf ("%s\n", environ[i]);
}
}
De todas maneras si necesitas manejar el entorno, no puedes toquitear demasiado este array, pero sí existen un par de funciones de bilbioteca muy útiles (getenv y setenv, comprueba los man) que te permiten obtener el valor de una variable y establecerlo, creando una nueva entrada si la variable no existe.
Espero que esto te ayude un poco más que lo anterior. No dudes en explayarte un poco más en tu pregunta si necesitas más info.
Un saludo.
jul. 09, 2007 - 15:53
ago. 27, 2007 - 00:44
Añadir Nuevo Comentario