[Gutl-l] Script en Shell
Colegas: En Debian 6, con escritorio Gnome, cuando ejecuto un fichero ".sh", descrito como "script en shell", una ventana señala que el fichero es de texto ejecutable y me muestra varias opciones, entre ellas: mostrar, ejecutar o cancelar. Pues bien, entre este tipo de archivos se encuentra el fichero "kiwix.sh" de la Wikipedia Offline y cuando hago clic sobre la opción "ejecutar" puedo acceder a su contenido; sin embargo, en Debian 6, con escritorio LXDE, no logro ejecutar el mismo fichero impidiéndome consultar Wikipedia. En la terminal, que según tengo entendido es un shell, ejecuto el fichero "kiwix.sh" dándole la ruta y me devuelve el mensaje: "bash: kiwix.sh: no se encontró la orden" ¿Cómo hacer para, empleando el escritorio LXDE, ejecutar este tipo de ficheros, especialmente el mencionado anteriormente? Con toda consideración: Delio G. Orozco González. Historiador. Director Archivo Histórico. Manzanillo de Cuba. __ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
[Gutl-l] Script en shell
Colegas: El "kiwix.sh" es el fichero que al ejecutarse me permite consultar la Wikipedia offline; pues bien, en Debian 6 con Gnome como escritorio, al dar clic sobre dicho archivo, se abre una ventana dándome varias opciones, entre ellas ejecutar; al "cliquear" sobre dicho archivo este se ejecuta y listo, puedo consultar la Wikipedia; sin embargo, en el mismo Debian 6 pero con LXDE, esa rutina no me funciona. Como el shell es lo mismo que la consola; al menos eso creo (clarifíquenme si estoy errado), trato de ejecutar dicho archivo desde el terminal dándole la ruta y nada, me devuelve el mensaje de que kiwix.sh no es un comando. ¿Alguien ha consultado la Wikipedia offline en LXDE sobre Debian 6? ¿qué aplicación es preciso instalar en LXDE para que me devuelva la opción de escoger entre mostrar, cancelar o ejecutar?,¿cuáles son los pasos a seguir? Con toda consideración: Delio G. Orozco González. Historiador. Director Archivo Histórico. Manzanillo de Cuba. __ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
Re: [Gutl-l] Script en Shell
El Mar, 21 de Junio de 2011, 9:56 pm, Delio Orozco González escribió: > Colegas: > > En Debian 6, con escritorio Gnome, cuando ejecuto un fichero ".sh", > descrito como "script en shell", una ventana señala que el fichero es de > texto ejecutable y me muestra varias opciones, entre ellas: mostrar, > ejecutar o cancelar. Pues bien, entre este tipo de archivos se encuentra > el fichero "kiwix.sh" de la Wikipedia Offline y cuando hago clic sobre la > opción "ejecutar" puedo acceder a su contenido; sin embargo, en Debian 6, > con escritorio LXDE, no logro ejecutar el mismo fichero impidiéndome > consultar Wikipedia. La opcion ejecutar desde el entorno grafico , solo te saldra si el archivo tiene privilegios de ejecucion .recuerda que en linux lo que determina si un archivo es ejecuable o no no es la extencion sino el permiso de ejecucion 1ro Revisa las propiedades. > > En la terminal, que según tengo entendido es un shell, ejecuto el fichero > "kiwix.sh" dándole la ruta y me devuelve el mensaje: > "bash: kiwix.sh: no se encontró la orden" Ahora , para ejecutar un script desde la terminal , basicamente te paras en el directorio donde esta el script (cd /directorio/donde/esta/el/script) y : 1 -invocas explicitamente a un interprete de comandos ejemplo : sh script.sh 2-si el script tiene permisos de ejecucion y tiene la linea de shebang (lo mas probable en este caso), lo ejecutas como una aplicacion normal y ya. ejemplo : ./script Nota : La importancia de poner "./" delante del nombre del script es por que por defecto el shell intentara buscar el programa en la carpeta de binarios del sistema (normalmente /bin o /usr/bin) , con esto le decimos que ejecute el script kikix.sh que esta en la carpeta, de lo contrario intentara ejecutar el comando "kiwix.sh" y obviamente no encontrara la orden. ah, tambien puedes ejecutar directamente la ruta: ejemplo : /directorio/donde/esta/el/script/./script.sh Cualquier duda me puedes enviar al privado. Saludos , Yosle -- "La mejor forma de predecir el futuro es implementarlo" (David Heinemeier Hansson creador de Ruby on Rails) __ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
Re: [Gutl-l] Script en Shell
Yosle: Respondo a la lista para compartir conocimiento. Me dices: "La opcion ejecutar desde el entorno grafico , solo te saldra si el archivo tiene privilegios de ejecucion .recuerda que en linux lo que determina si un archivo es ejecuable o no no es la extencion sino el permiso de ejecucion 1ro Revisa las propiedades." El propietario soy yo; o sea, y tengo permisos de lectura y escritura, pero no se ejecuta, no sé cuál será la razón. En Gnome sí puedo hacerlo. Continúas explicando: "Ahora, para ejecutar un script desde la terminal, basicamente te paras en el directorio donde esta el script (cd /directorio/donde/esta/el/script) y: "1 -invocas explicitamente a un interprete de comandos, ejemplo : sh script.sh "2- si el script tiene permisos de ejecucion y tiene la linea de shebang (lo mas probable en este caso), lo ejecutas como una aplicacion normal y ya. ejemplo : ./script" Empleando estas variantes funcionó; pero, como dices, fue necesario estar dentro del directorio donde está el script "kiwix.sh". Terminas tu explicación: "ah, tambien puedes ejecutar directamente la ruta: ejemplo : /directorio/donde/esta/el/script/./script.sh" Cuando apliqué esta variante resultado fue negativo y la consola me devuelve: "Error: unrecognized application.ini path." Finalmente, aunque no resultó ser lo óptimo; o sea, dar clic sobre el kiwix.sh y comenzar a consultar la Wikipedia, si pude acceder a su contenido, absorviendo como aprendizaje agregado nociones en el manejo de ficheros .sh. Por tales motivos, agradezco sinceramente tus comentarios en forma de respuesta. Con toda consideración: Delio G. Orozco González. Historiador. Director Archivo Histórico. Manzanillo de Cuba. __ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
Re: [Gutl-l] Script en Shell
El Mie, 22 de Junio de 2011, 4:11 pm, Delio Orozco González escribió: > El propietario soy yo; o sea, y tengo permisos de lectura y >escritura, pero no se ejecuta, no sé cuál será la razón. En Gnome sí >puedo > hacerlo. > No he trabajado mucho con LXDE , pero en Gnome en las propiedades del archivo (click derecho sobre el archivo) hay una casilla que dice "permitir ejecutar como programa" , si esa casilla esta desactivada es que no tiene privilegios de ejecucion, activando esa casilla se añade la propiedad "ejecutable" al archivo en cuestion y Linux lo vera como un programa y no como un archivo de texto . no recuerdo si LXDE ponga esa opcion ahi o en otro lugar ,probablemente lo tenga asi que busca bien, pero bueno , en ultima instancia puedes añadirle el atributo desde la consola desde la consola puedes ejecutar en ese directorio ls -l y te saldra los permisos detalladamente para cada archivo , si es lectura(r) , escritura(w) y ejecucion (x).(Para mas informacion sobre los permisos puedes usa el comando man chmod ), te paras en el directorio y das: chmod +x script.sh Esto añade permisos de ejecucion para el usuario actual.En el entorno grafico deberia notarse cambiando de icono el fichero.Ahora al dar doble click , apareceria ademas de mostrar ,cancelar,... ejecutar. > > "2- si el script tiene permisos de ejecucion y tiene la linea de shebang >(lo mas probable en este caso), lo ejecutas como una aplicacion normal y > ya. ejemplo : ./script" > > Empleando estas variantes funcionó; pero, como dices, fue necesario estar > dentro del directorio donde está el script "kiwix.sh". > dentro del directorio usas ./script.sh o sh script.sh para invocarlo con una ruta explicita podrias usar sh /camino/del/fichero/script.sh o /camino/del/fichero/./script.sh La diferencia esta en que en el primer caso le estamos diciendo explicitamente que lo abra con el interprete de comandos (sh) , la segunda solo le estamos diciendo que se ejecute lo cual es caso de no tener propiedades de ejecucion no funcionara (ademas se requiere una linea especial al principio del archivo llamada shebang, pero es casi seguro que la tiene en este caso). > Finalmente, aunque no resultó ser lo óptimo; o sea, dar clic sobre el >kiwix.sh y comenzar a consultar la Wikipedia, si pude acceder a su > contenido, absorviendo como aprendizaje agregado nociones en el manejo >de > ficheros .sh. Por tales motivos, agradezco sinceramente tus comentarios >en > forma de respuesta. en realidad el asunto es tan sencillo como darle privilegios de ejecucion y abirlo con doble click (o crear un acceso directo) , pero te quize explicar para que entendieras lo de los permisos y las rutas relativas y absolutas desde la consola , cualquier duda tira para aca. Saludos , yosle -- "La mejor forma de predecir el futuro es implementarlo" (David Heinemeier Hansson creador de Ruby on Rails) __ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
Re: [Gutl-l] Script en Shell
Colega: Todos los permisos están dados, incluyendo la condición de ejecutable; pero nada. Y repito, es preciso ejecutarlo desde dentro del directorio, de lo contrario me devuelve este error: "Error: unrecognized application.ini path." Dentro del directorio hay un fichero llamado "application.ini" cuya estructura te copio más abajo a ver si puedes detectar algún camino. Lo he revisado pero no encuentro nada fuera de lo normal. [App] ; ; This field specifies your organization's name. This field is recommended, ; but optional. Vendor=www.kiwix.org ; ; This field specifies your application's name. This field is required. Name=kiwix ; ; This field specifies your application's version. This field is optional. Version=0.8 ; ; This field specifies your application's build ID (timestamp). This field is ; required. BuildID=20091129 ; ; This field specifies a compact copyright notice for your application. This ; field is optional. Copyright=GNU General Public License v3 (http://gplv3.fsf.org/) ; ; This ID is just an example. Every XUL app ought to have it's own unique ID. ; You can use the microsoft "guidgen" or "uuidgen" tools, or go on ; irc.mozilla.org and /msg botbot uuid. This field is optional. ID={98e95f99-2130-4870-b82a-79d274042e75} ; [shell] Icon=chrome/icons/ [Gecko] ; ; This field is required. It specifies the minimum Gecko version that this ; application requires. MinVersion=1.9.0.0 ; ; This field is optional. It specifies the maximum Gecko version that this ; application requires. It should be specified if your application uses ; unfrozen interfaces. MaxVersion=2.0.0.0 Saludos cordiales, Delio G. Orozco González. Historiador. Director Archivo Histórico. Manzanillo de Cuba. __ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
Re: [Gutl-l] Script en Shell
Yosle: Después de traquetear di con lo que era: el gestor de archivos. LXDE por defecto trae PCManFM y desde él ni a palos me hace las preguntas Ejecutar en un terminal, Mostrar, Cancelar y Ejecutar. La solución fue fácil; cambiar el gestor por Nautilus y se acabó la actividad; todo resuelto. De todos modos, agradezco tus respuesta. Me sirvieron para conocer mejor los .sh :-) Con toda consideración: Delio G. Orozco González. Historiador. Director Archivo Histórico. Manzanillo de Cuba. __ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
Re: [Gutl-l] Script en Shell
Gracias Delio , en realidad el mismo principio es aplicable a scripts los mismo python , perl u otro o a ejecutables binarios,tampoco importa si el archivo no tiene extencion ,como me imagine ...era un problema de diseño del gestor de ardchivos al perecer no le incluyeron esa opcion. saludos, yosle El Mie, 22 de Junio de 2011, 11:07 pm, Delio Orozco González escribió: > Yosle: > > Después de traquetear di con lo que era: el gestor de archivos. LXDE por > defecto trae PCManFM y desde él ni a palos me hace las preguntas Ejecutar > en un terminal, Mostrar, Cancelar y Ejecutar. La solución fue fácil; > cambiar el gestor por Nautilus y se acabó la actividad; todo resuelto. > > De todos modos, agradezco tus respuesta. Me sirvieron para conocer mejor > los .sh :-) > > Con toda consideración: > > Delio G. Orozco González. > Historiador. > Director Archivo Histórico. > Manzanillo de Cuba. > > > __ > Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. > Gutl-l@jovenclub.cu > https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l > -- -- "La mejor forma de predecir el futuro es implementarlo" (David Heinemeier Hansson creador de Ruby on Rails) __ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
Re: [Gutl-l] Script en Shell
Delio, prueba a comentar la línea de los iconos a ver, es la unica que se asemeja a un path: ;Icon=chrome/icons/ - This mail sent through IMP: http://horde.org/imp/ __ Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba. Gutl-l@jovenclub.cu https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l