Folders por defecto en $HOME, tienen variables??

#1
es una pregunta para programación

como sabemos en terminal para indicar el folder de nuestro usuario (si nos llamamos Pepito, Rosita...) no importa como nos llamemos lo podemos sustituir por $HOME

ej ir a nuestra carpeta documentos....

/Rosita/Documentos

ó

/$HOME/Documentos

mi pregunta es...

los folders dentro de nuestro $HOME (Documentos, Videos, Imagenes, Descargas...) tienen una variable como nuestro home??? lo digo porque estoy haciendo unos scripts pero necesito saber si esos folders tienen variables ya que dependiendo del idioma en el que esté el sistema operativo, así también los nombres de dichos folders

Español Ingles

Documentos=Documents
Imágenes=Images
Descargas=Downloads

son muchos idiomas en el mundo y por eso tengo esa curiosidad, por su atención muchas gracias
 

hiei3

Bovino adicto
#2
humm al poner "env" en el bash no hay ninguna variable que se vea util. En gnome al menos los directorios de bookmark se encuentran definidos en el archivo "~/.config/user-dirs.dirs", no se si es el mismo para el resto de los entornos :S habria que probar, tal vez los puedas sacar de alli.

Otro archivo que puedes mirar es "~/.gtk-bookmarks"... nose cual es el que necesitas xD
 

Someone in time

Bovino Milenario
#3
Pues que yo sepa no... y no creo que exista debido a que dicha variable es de bash y los otros folders son de Gnome... pero no entiendo porque quieres hacer esto, es decir, si pones $HOME/Documentos, por ejemplo, automáticamente te va redirigir al folder de Documentos del usuario actual: es mas puedes probarlo... digita:
Código:
cd $HOME/Descargas
y verás como cambia al directorio correspondiente: /home/usuario/Descargas...

Entonces si lo que quieres es que el usuario se dirija a un determinado folder dentro de su home solo debes poner esa dirección, porque lo importante es que el usuario sea el que ejecuta el script...
 

hiei3

Bovino adicto
#4
Pues que yo sepa no... y no creo que exista debido a que dicha variable es de bash y los otros folders son de Gnome... pero no entiendo porque quieres hacer esto, es decir, si pones $HOME/Documentos, por ejemplo, automáticamente te va redirigir al folder de Documentos del usuario actual: es mas puedes probarlo... digita:
Código:
cd $HOME/Descargas
y verás como cambia al directorio correspondiente: /home/usuario/Descargas...

Entonces si lo que quieres es que el usuario se dirija a un determinado folder dentro de su home solo debes poner esa dirección, porque lo importante es que el usuario sea el que ejecuta el script...
Ese es el problema, si lo quiere hacer sin la intervencion del usuario no puede asumir que su carpeta de descargas se llame "Descargas", en mi caso por ejemplo es "~/Downloads" y de esa misma forma cambiara para otros idiomas :S
 

radiocaca

Bovino Milenario
#5
Ese es el problema, si lo quiere hacer sin la intervencion del usuario no puede asumir que su carpeta de descargas se llame "Descargas", en mi caso por ejemplo es "~/Downloads" y de esa misma forma cambiara para otros idiomas :S

Asi es, no hay estandard para esos directorios a los que quieres llegar, en mi caso son ~/../Descargas, ~/../Musica, etc.


una solucion seria preguntarle al usaurio donde estan esos dirctorios, puedes usar interfaz grafica en un script de bash usando el programa zenity .


por ejemplo:

zenity --info --text "Elija su directorio de documentos";zenity --file-selection --directory
 

Zephyros

Bovino de la familia
#6
Habrá que checar si existe una variable de entorno que especifique el idioma y la nomenclatura de las carpetas del $HOME, así sería más sencillo tomar los nombres utilizando como comodín dicha variable.
 
#7
Habrá que checar si existe una variable de entorno que especifique el idioma y la nomenclatura de las carpetas del $HOME, así sería más sencillo tomar los nombres utilizando como comodín dicha variable.
Exacto como bien dijeron al cambiar el idioma, los nombres de los folders también cambian dependiendo del idioma, y quiero hacer esto automáticamente sin la intervención del usuario
 

Someone in time

Bovino Milenario
#8
Ese es el problema, si lo quiere hacer sin la intervencion del usuario no puede asumir que su carpeta de descargas se llame "Descargas", en mi caso por ejemplo es "~/Downloads" y de esa misma forma cambiara para otros idiomas :S
Tenés razón no había leído la parte de los idiomas... jajaja... por eso todo parecía tan fácil... pero voy a ponerme a averiguar
 
#9
No se que quieras hacer que involucre todas las carpetas pero con un ls al home sabes si esta en ingles o en español y ya de ahí agarras las rutas.
 

Someone in time

Bovino Milenario
#10
Compa estuve leyendo acerca de tu petición porque en definitiva deben haber esta clase de variables, y me encontre las siguientes variables que son de Miscellaneous Utility Functions de Gnome, lo que pasa es que no pude entender como hacer que funcionaran, y creo que tiene que ver el hecho de que primero se deben haber definido ciertos parámetros en XDG... pero bueno te dejo el link para que le pegues una ojeada: http://library.gnome.org/devel/glib/stable/glib-Miscellaneous-Utility-Functions.html#GUserDirectory
 

hiei3

Bovino adicto
#11
Bueno, siguiendo lo de mi primer post, puede alguien con KDE verificar si el archivo ". ~/.config/user-dirs.dirs" guarda la informacion de estas carpetas, basta con correr este script:
Código:
#!/bin/bash
. ~/.config/user-dirs.dirs
echo "$XDG_DOCUMENTS_DIR"
Si fuera asi puedes sacar el resto de las variables del mismo archivo.

Saludos.
 
#12
Bueno, siguiendo lo de mi primer post, puede alguien con KDE verificar si el archivo ". ~/.config/user-dirs.dirs" guarda la informacion de estas carpetas, basta con correr este script:
Código:
#!/bin/bash
. ~/.config/user-dirs.dirs
echo "$XDG_DOCUMENTS_DIR"
Si fuera asi puedes sacar el resto de las variables del mismo archivo.

Saludos.
Genio!!! creo que esto si va a funcionar
Código:
#!/bin/bash

source ~/.config/user-dirs.dirs

echo "$XDG_DOCUMENTS_DIR"
echo "$XDG_DESKTOP_DIR"
echo "$XDG_DOWNLOAD_DIR"
echo "$XDG_TEMPLATES_DIR"
echo "$XDG_PUBLICSHARE_DIR"
echo "$XDG_DOCUMENTS_DIR"
echo "$XDG_MUSIC_DIR"
echo "$XDG_PICTURES_DIR"
echo "$XDG_VIDEOS_DIR"

read junk
esto nos muestra el nombre y la ruta de las carpetas en su idioma, incluso encontré por ahí otro archivo que dice el idioma en que está el SO voy a ver que puedo hacer con esta pieza de codigo muchas gracias!!!!
 

radiocaca

Bovino Milenario
#13
Bueno, siguiendo lo de mi primer post, puede alguien con KDE verificar si el archivo ". ~/.config/user-dirs.dirs" guarda la informacion de estas carpetas, basta con correr este script:
Código:
#!/bin/bash
. ~/.config/user-dirs.dirs
echo "$XDG_DOCUMENTS_DIR"
Si fuera asi puedes sacar el resto de las variables del mismo archivo.

Saludos.

no sirve en KDE, es cosa solo de Gnome.

Código:
[lithium@Irken lithium]$ . ~/.config/user-dirs.dirs
bash: /home/lithium/.home/.config/user-dirs.dirs: No existe el fichero o el directorio
[lithium@Irken lithium]$ echo "$XDG_DOCUMENTS_DIR"
 

Zephyros

Bovino de la familia
#14
no sirve en KDE, es cosa solo de Gnome.

Código:
[lithium@Irken lithium]$ . ~/.config/user-dirs.dirs
bash: /home/lithium/.home/.config/user-dirs.dirs: No existe el fichero o el directorio
[lithium@Irken lithium]$ echo "$XDG_DOCUMENTS_DIR"
Era de esperarse, son muy distintos en su forma de funcionar.

Pero entonces, debe existir una variable similar o archivo donde se especifiquen las mismas variables.
No uso KDE, sino Gnome, de lo contrario lo buscaba.
 

hiei3

Bovino adicto
#15
no sirve en KDE, es cosa solo de Gnome.
Era de esperarse, son muy distintos en su forma de funcionar.

Pero entonces, debe existir una variable similar o archivo donde se especifiquen las mismas variables.
No uso KDE, sino Gnome, de lo contrario lo buscaba.
Yo tengo instalados Gnome y KDE, pero entonces si me funciona en KDE sera porque el archivo ya se encuentra debido a gnome :S

Ahora, si en gnome y KDE no son lo mismo, que pasara con XFCE por ejemplo?, tal vez sea una buena idea lo de zenity posteado por radiocaca, a mi me parecio interesante :)
 

Zephyros

Bovino de la familia
#16
Yo tengo instalados Gnome y KDE, pero entonces si me funciona en KDE sera porque el archivo ya se encuentra debido a gnome :S

Ahora, si en gnome y KDE no son lo mismo, que pasara con XFCE por ejemplo?, tal vez sea una buena idea lo de zenity posteado por radiocaca, a mi me parecio interesante :)
Me vino a la mente eso de que todos los manejadores de ventana de Linux tienen una... "estructura" similar y que programas de Gnome, funcionan en KDE y viceversa y cosas por el estilo, entonces debe existir algo como eso (un archivo que defina los nombres de las carpetas de $HOME acorde al idioma) en todos ellos, habrá que investigar bien.
 

Someone in time

Bovino Milenario
#17
Yo tengo instalados Gnome y KDE, pero entonces si me funciona en KDE sera porque el archivo ya se encuentra debido a gnome :S

Ahora, si en gnome y KDE no son lo mismo, que pasara con XFCE por ejemplo?, tal vez sea una buena idea lo de zenity posteado por radiocaca, a mi me parecio interesante :)
Exactamente ese directorio es de Gnome no de la distro, pero como ya dijeron cada entorno debe tener su archivo de configuración de directorios de usuarios...
 
Arriba