script en Bash para ejecutar ePSXe 1.6.0

Este foro es para todo lo relacionado con la documentación, artículos de ayuda, Wikis, tips & hints y las traducciones de Arch (tanto en progreso como las finalizadas).
inukaze
Archer Intermedio
Archer Intermedio
Mensajes: 78
Registrado: 11 May 2011, 13:41

script en Bash para ejecutar ePSXe 1.6.0

Mensaje por inukaze » 02 Jun 2011, 15:14

Bueno alfplayer , he terminado de escribir mi Bash Script para ejecutar el "ePSXe 1.6.0" , ahora me gustaria saber , si me ayudas a probrarlo .

Bueno aqui te dejo el Hiper Vinculo : http://www.megaupload.com/?d=3UR4HB6W

Mi Mini-Script esta hecho en "Ubuntu 11.04 AMD64" , ahora , lo que me gustaria es que lo probraran y me dijeran que les arroja la terminal , porque algunos comandos son distintos en Arch que en Debian / Ubuntu , etc .

Mi Mini-Script , lo que hace basicamente , es obtener la informacion para ver si se cumplen con los requisitos minimos para ejecutar el emulador el script Obtendra

- Velocidad del Procesador , Tamaño Total de la Memoria RAM , Tamaño de la Memoria de Video , Si si ejecuta en una maquina de 32 o de 64 Bits.

Para funcionar necesita : Procesador de 800 Mhz , 128 MB Ram , 64 MB de Video con Aceleracion 3D.

Bueno espero que me puedan ayudar.

Avatar de Usuario
alfplayer
Archer Confiable
Archer Confiable
Mensajes: 479
Registrado: 19 Nov 2010, 13:39
Ubicación: Buenos Aires, Argentina
Contactar:

Re: Juegos : Emuladores , Maquina Virtual , APIs , etc

Mensaje por alfplayer » 02 Jun 2011, 16:53

Lo probé con amd64. La ventana se abrió pero antes tuve que hacer unas modificaciones para que el script no falle. Las líneas para extraer la velocidad de CPU y la memoria de sistema quedaban vacías, probablemente porque cambió el formato. Las salidas para mi kernel 2.6.38:

Código: Seleccionar todo

> dmesg | grep 'MHz processor'
Detected 3166.372 MHz processor.
> free -om | grep Mem:
Mem:          3964       2283       1681          0         82        519
El último está separado por espacios, no por tabs.

El primero se puede reemplazar por:

Código: Seleccionar todo

dmesg | grep 'MHz processor' | cut -d " " -f 2
El segundo se puede extraer con:

Código: Seleccionar todo

free -om | grep Mem: | awk '{print $2}'
Creo que sería más seguro usar la salida de algunos de los /proc/* en lugar de la salida de los comandos, o usando funciones o comandos que devuelvan los valores sin necesidad de filtrarlos con programas como sed, awk y cut.

Me pregunto qué es esto? :shock: Me sorprende el poco espacio que ocupan esas librerías.
Última edición por alfplayer el 02 Jun 2011, 16:55, editado 1 vez en total.
Parabola GNU/Linux-libre - basada en Arch - distribución libre según el Proyecto GNU.

inukaze
Archer Intermedio
Archer Intermedio
Mensajes: 78
Registrado: 11 May 2011, 13:41

Re: Juegos : Emuladores , Maquina Virtual , APIs , etc

Mensaje por inukaze » 02 Jun 2011, 17:25

Veamos las diferencias , bueno me sorprende que hayas tenido que cambiar tan pocas lineas para que te funcionara :

Código: Seleccionar todo

> dmesg | grep 'MHz processor'
Detected 3166.372 MHz processor.
> free -om | grep Mem:
Mem:          3964       2283       1681          0         82        519
Bueno a mi me sirvio colocarle
> free -om | grep Mem: | cut -d " " -f12
para extraerle el monto de la RAM Total :D

El primero se puede reemplazar por:

Código: Seleccionar todo

[email protected]:~$ dmesg | grep 'MHz processor' | cut -d " " -f 2

[email protected]:~$ dmesg | grep 'MHz processor' | cut -d " " -f 7
3013.420
Me pregunto porque sera la diferencia ???

El segundo se puede extraer con:

Código: Seleccionar todo

[email protected]:~$ free -om | grep Mem: | awk '{print $2}'
744
Este si me funciona :D
Creo que sería más seguro usar la salida de algunos de los /proc/* en lugar de la salida de los comandos, o usando funciones o comandos que devuelvan los valores sin necesidad de filtrarlos con programas como sed, awk y cut.
- Bueno el dilema viene que el Bash no lee cosas como "3013.420" y bueno como usamos "/proc/*" sin la necesidad de recurir a "su" o "sudo" ???

Mi idea es obtener como "usuario" esos valores "enteros" para poder usar el Mayor o Igua que ("-ge") que utilize para determinar si se cumplen los requisitos.

Me pregunto qué es esto? :shock: Hehehe mis disculpas , error de Transcripcion momentanea va asi
- Esto es para que te permita usar los "switch" del emulador , yo estoy usando este Script , para cargar el emulador desde el "Gelide" y le agregue
-nogui -slowboot -loadbin "$gf"
a la lista de parámetros , ya que no se si de otra manera lea las opciones correctamente

Y Para poder usarlo via gelide , tuve que cambiarle una linea

export EPSXE=/ruta/hacia/el/directorio/ePSXe

Ya que no tengo idea de como hacer que se lea el directorio donde esta el ejecutable del "ePSXe" , desde cualquier otro directorio , como hacen el Script de "Rune" por ejemplo , que ese script realmente no le encuentro sentido xD. porque no importa para donde mueva el ejecutable siempre lo encuentra y lo lanza.


Y Si te llega a servir los Switch del Emulador son :

-adsrtrick...................Returns a random ADSR value. (Unusable)
-analog......................Enables Analog Pad Emulation.
-anamous.....................Enables Analog Pad Emulation via Mouse.(Unusable)
-bios <file>.................Loads the specified PlayStation BIOS file.
-c...........................Enables the Dynarec core.* (Unusable)
-cddmairq3...................Enables CD-ROM IRQ3 in DMA.** (Unusable)
-cdfast......................Enables Fast CD-ROM Emulation. (Unusable)
-cdrom <letter>..............Selects a CD-ROM Drive Letter. (Unusable)
-cdslow......................Enables Slow CD-ROM Emulation. (Unusable)
-cdtiming....................Enables Accurate CD-ROM Timing. (Unusable)
-debug.......................Enables Debugging (only in betas!) (Unusable)
-dmairqclear.................Forces DMA IRQ to always be cleared. (Unusable)
-f...........................Disables BIOS Logo(Fast Boot)
-ff9pal......................Enables Final Fantasy IX PAL cheat.
-fl..........................Enables the internal framelimiter.**
-forcepad....................Forces SIO IRQ to always be enabled.
-forcespu....................Forces SPU IRQ to always be enabled.
-gun.........................Enables Namco Gun Emulation.**
-h...........................Displays some (not all) command-line switches(???)
-hdev........................Displays a list of debug options. (???)
-help........................Displays some (not all) command-line switches.(???)
-i...........................Loads the Interpreter core.*
-legaia......................Enables Legend of Legaia cheat.
-lib.........................Loads libpsx.exe. (Unusable)
-loadbin <file>..............Loads a specified ISO image file.
-loadcheat <file>............Loads a specified .cht file.
-loadfake....................Loads a fake file.****
-loadmemc0 <file>............Loads a specified memory card file in the first slot (0).
-loadmemc1 <file>............Loads a specified memory card file in the second slot (1).
-mouse.......................Enables Mouse Emulation.
-noaudiocd...................Disables CDDA.
-noauto......................Disables automatically applied patches.
-nocd........................Disables CD-ROM Emulation.
-nocdcmd11...................Disables CD-ROM command 11. (Unusable)
-nocdstatus..................Changes some CD-ROM status outputs.
-nocdrtstatus................Disables CD-ROM RT status. (Unusable)
-nogui.......................Runs ePSXe without the GUI.
-nolog.......................Disables log files.
-nomdec......................Disables MDEC.
-nomdectiming................Disables MDEC Timing.
-nomemcard...................Disables Memory Card Emulation.
-noseekinxa..................Disables seeking during XA playback. (Unusable)
-nosound.....................Disables Sound Emulation.
-p <num>.....................Adds penalty cycles to memory access.*****
-paddual.....................Enables a pad workaround* (Unusable)
-savefake <file>.............Saves a fake file.****
-ssv0........................Creates savestates compatible with ePSXe v1.4.0
-v...........................Shows the current version of ePSXe (???)
-xaread......................Enables XA Read.
-xasound.....................Enables XA Sound Emulation.
-[psx exe]...................Runs the specified PSX Executable (can be a .pll, zipped)
-fastboot....................Disables BIOS Logo(Fast Boot)
-slowboot....................Enables BIOS Logo(Slow Boot)


Avatar de Usuario
alfplayer
Archer Confiable
Archer Confiable
Mensajes: 479
Registrado: 19 Nov 2010, 13:39
Ubicación: Buenos Aires, Argentina
Contactar:

Re: Juegos : Emuladores , Maquina Virtual , APIs , etc

Mensaje por alfplayer » 02 Jun 2011, 18:00

Otra cosa: la primera línea debe ser la del shebang (#! ...).
inukaze escribió:Me pregunto porque sera la diferencia ???
Probablemente porque lo que aparece en dmesg es diferente, a mí me aparece en la segunda palabra y a ti en la séptima.
inukaze escribió:Bueno el dilema viene que el Bash no lee cosas como "3013.420" y bueno como usamos "/proc/*" sin la necesidad de recurir a "su" o "sudo" ???
P.e. se puede leer /proc/meminfo como no root, y así muchos otros /proc/*
inukaze escribió:Mi idea es obtener como "usuario" esos valores "enteros" para poder usar el Mayor o Igua que ("-ge") que utilize para determinar si se cumplen los requisitos.
Esto se puede hacer con [[ $FLOTANTE > 800 ]], aunque también posiblemente si se usa esta construcción lo correcto sería cambiar el shebang a #!/bin/bash (aunque con el shebang actual funcione en algunas distros).
Parabola GNU/Linux-libre - basada en Arch - distribución libre según el Proyecto GNU.

Avatar de Usuario
madek
Equipo Hispano
Equipo Hispano
Mensajes: 2149
Registrado: 03 Sep 2009, 12:50
Ubicación: Puente Alto, Chile

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por madek » 02 Jun 2011, 18:54

gracias por el aporte
te sugiero, que cuando compartas codigo, lo hagas en un sitio como pastebin.com/, es mucho mas facil usar ese tipo de herramientas que megaupload
Asi hacemos las cosas => The Arch Way
Judd Vinet "Arch Linux es lo que tú haces de él"
Imagen

inukaze
Archer Intermedio
Archer Intermedio
Mensajes: 78
Registrado: 11 May 2011, 13:41

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por inukaze » 02 Jun 2011, 19:00

madek escribió:gracias por el aporte
te sugiero, que cuando compartas codigo, lo hagas en un sitio como pastebin.com/, es mucho mas facil usar ese tipo de herramientas que megaupload
Acabo de editar el Codigo Otra vez , esta en

http://pastebin.com/MzmpNvd4 Desde el Medio Dia de Hoy , Horario GMT -4:30 XD . osea desde hace 6 Horas

Bueno me costo algo hacer que determinara el Directorio. que enreado es esto para mi , ojala y supiera algo de programacion :D, Deberia hacer un Curso de Python Primero que nada :D

El Archivo de Megaupload es Temporal , era solo para ver quienes se dignaban a ayudarme a probrar en emulador . Pero de todas maneras ya el Script de PasteBin ha sido actualizado , el que trae el archivo que esta en Megaupload , no. ademas que lo puse alli como a las 3 de la tarde xD y no le he prestado mas atencion.

En Fin He logrado lo que queria que el Script me determinara si cumplia con los requisitos necesarios para una buena emulacion de PlayStation 1 , lo cual pienso que es muy util especialmente para los Juegos / Emuladores & Maquinas Virtuales ( como ScummVM ) .


Bueno #AlfPlayer , ahora que deberiamos hacerle para que tenga la informacion correcta sacada desde "/proc" ??? , #Madek , tu que piensas que debamos hacer con el Script ???
Última edición por inukaze el 02 Jun 2011, 19:13, editado 1 vez en total.

Avatar de Usuario
madek
Equipo Hispano
Equipo Hispano
Mensajes: 2149
Registrado: 03 Sep 2009, 12:50
Ubicación: Puente Alto, Chile

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por madek » 02 Jun 2011, 19:12

excelente, estuver revisando el script y esta muy bueno
tengo una sugerencia y un par de consultas
sugerencia: la primera linea siempre debe ser el interprete de ordenes, pues es lo que primero lee bash, y sirve para saber que lenguaje se esta hablando, entonces la linea #!/bin/bash va siempre primero de todo, incluso los comentarios
claro, por general uno siempre esta usando bash, por lo que aparentamente no importaria, pero a veces cuando se esta usando otro interprete, si no se coloca la linea en primer lugar, puede marearse el interprete

preguntas: ¿piensas hacer un paquete que incluya esto?
en aur existe epsxe-launcher-bash, podrias revisarlo a ver si se puede mejorar aun mas tu script
cualquier ayuda que necesites respecto al aur consultame

¿porque no lo hiciste bajo archlinux?
Asi hacemos las cosas => The Arch Way
Judd Vinet "Arch Linux es lo que tú haces de él"
Imagen

inukaze
Archer Intermedio
Archer Intermedio
Mensajes: 78
Registrado: 11 May 2011, 13:41

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por inukaze » 02 Jun 2011, 19:25

madek escribió:
preguntas: ¿piensas hacer un paquete que incluya esto?
en aur existe epsxe-launcher-bash
De hecho hize este script porque ese jamas me funciono y de alli tome la idea de hacerlo funcionar correctamente , de hecho como dije antes en este "hilo" dicho script no me ejecutaba el emulador.

Y Bueno , en mi caso , meteré la Comprobación de requisitos recomendados en otros juegos , emuladores o cosas asi , juegos tales como "The World Of Goo" , que tienen sus requisitos recomendados bien conocidos . Aunque mi idea es que metan la comprobacion de los requisitos en la mayoria de las cosas , ya que de esa manera , el usuario sabrá si puede ejecutar el juego o no :D , de hecho ahora me gustaria que se le indicara al usuario de manera grafica acerca de que si cumple con los requisitos , me pregunto si "zenity" servira para este proposito ???
¿porque no lo hiciste bajo archlinux?
Porque ya no tengo ArchLinux xD . esque me obstino el hecho de que requeria demasiadas cosas , que en los sistemas Debians ya estan pre-compiladas , y en ArchLinux tenia que compilarlo todo desde el AUR. y en muchas ocasiones todo fallo , muchas veces se me da mal compilar las cosas manualmente , siempre termina con "Error 1" o "Fallo de Segmentacion" . o tienen demasiadas dependencias que debia compilar desde el AUR .

Ademas me gustaria tener instalada 2 Distros pero la verdad , y jamas he encontrado como se instalan , a pesar de que he visto muchos screenshots de que si es posible instalar tantas distros como uno guste . pero yo la verdad ni la mas minima idea.

Y las 2 Distros serian , Ubuntu & ArchLinux 64 Bits , Ubuntu porque es Facil , y ArchLinux para aprender y entender como funciona el Sistema . Ya que la comunidad de ArchLinux es genial :D

Avatar de Usuario
alfplayer
Archer Confiable
Archer Confiable
Mensajes: 479
Registrado: 19 Nov 2010, 13:39
Ubicación: Buenos Aires, Argentina
Contactar:

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por alfplayer » 02 Jun 2011, 21:17

Con /proc/* se hace como con otros comandos. Ej.:

Código: Seleccionar todo

$ grep MemTotal /proc/meminfo | awk '{print $2}'
También está cpuinfo, etc.

La ventaja de esto sería no depender de las diferentes versiones de comandos como free, que pueden tener salidas diferentes, y evitar llamar esos comandos (esto mejora un poco la velocidad del script, aunque esto no sería muy importante). Con este cambio solo se depende del formato de los /proc/* , que creo que solo depende de la versión del kernel.

Además de epsxe-launcher-bash, también existe epsxe-launcher-python que recomiendan en la wikipage.

Existen también aur/epsxe-plugin-* que tienen librerías, tal vez algunas de esas hagan funcionar esos lanzadores, como epsxe-launcher-bash que intenta crear symlinks:

Código: Seleccionar todo

Linking plugins...
`plugins/lib*.so*' -> `/opt/epsxe/plugins/lib*.so*'
`plugins/lib*.so*' -> `/usr/lib/games/psemu/lib*.so*'
`plugins/lib*.so*' -> `/usr/lib/psemu/lib*.so*'
Otra cosa, no entiendo por qué requerimientos fijos como 800 MHz. Pensaría que esto varía para juegos diferentes.

Aunque no sé si estoy de acuerdo con crear un archivo que incluya todas las librerías, que sea "multi-distro", creo que es útil que alguien que le interesa arregle esto, por lo menos para Arch.

El lanzador de Bash devuelve al final "Killed".

El lanzador de Python también falla (podría solucionarse con algún symlink):

Código: Seleccionar todo

$ epsxe
sh: /home/esteban/.epsxe/epsxe: No such file or directory
Parabola GNU/Linux-libre - basada en Arch - distribución libre según el Proyecto GNU.

Avatar de Usuario
alfplayer
Archer Confiable
Archer Confiable
Mensajes: 479
Registrado: 19 Nov 2010, 13:39
Ubicación: Buenos Aires, Argentina
Contactar:

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por alfplayer » 02 Jun 2011, 22:36

Recién veo el script actualizado. Correcciones:

Código: Seleccionar todo

clear && reset && echo "" && echo ""
Ninguno de estos comandos tiene algún propósito en mi opinión. Tampoco entiendo que hay necesidad de separar con && .

echo "" es equivalente a echo. Dos echo:

Código: Seleccionar todo

echo
echo
es equivalente a echo "\n" aunque no haría mucha diferencia.

Código: Seleccionar todo

# Change to game directory
export ePSXe_Path=`(dirname $0 | xargs readlink -e)`
cd "$ePSXe_Path"
En mi opinión, lo mejor para esto sería:

Código: Seleccionar todo

cd ${0%/*}
Así solo se usa Bash sin usar comandos del sistema de archivos (es más rápido).

No habría necesidad de setear la variable porque ahora es el directorio actual. Se pueden usar rutas relativas (relativas al directorio actual, ej.: 32bits_libs/* ) y así tener más limpio el script.

Aunque se quiera setear la variable, no veo necesidad de exportarla. Se podría reemplazar por:

Código: Seleccionar todo

ePSXe_Path=${0%/*}
cd $ePSXe_Path
Parabola GNU/Linux-libre - basada en Arch - distribución libre según el Proyecto GNU.

inukaze
Archer Intermedio
Archer Intermedio
Mensajes: 78
Registrado: 11 May 2011, 13:41

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por inukaze » 02 Jun 2011, 23:25

alfplayer escribió:Con /proc/* se hace como con otros comandos. Ej.:

Código: Seleccionar todo

$ grep MemTotal /proc/meminfo | awk '{print $2}'
También está cpuinfo, etc.

Existen también aur/epsxe-plugin-* que tienen librerías, tal vez algunas de esas hagan funcionar esos lanzadores, como epsxe-launcher-bash que intenta crear symlinks:

Código: Seleccionar todo

Linking plugins...
`plugins/lib*.so*' -> `/opt/epsxe/plugins/lib*.so*'
`plugins/lib*.so*' -> `/usr/lib/games/psemu/lib*.so*'
`plugins/lib*.so*' -> `/usr/lib/psemu/lib*.so*'
Sinceramente prefiero que todo este dentro del "$HOME" , yo lo colocaria en "$HOME/.bin/Games/Emulators/ePSXe"
Otra cosa, no entiendo por qué requerimientos fijos como 800 MHz. Pensaría que esto varía para juegos diferentes.
, Bueno como es un emulador de "PlayStation" y en muchos sitios coinciden que lo recomendado para una buena emulacion a 60 FPS ( Que es lo maximo que funciona un juego de Consola Casera )

Se necesitan 800 Mhz de Procesador para emular PlayStation , 128 MB Ram Recomendados , y 64 MB con Aceleracion 3D. Pero en el Caso de "Arcade"/"Maquinitas" si varia debido a que son Hardwares difentes que emular , especialmente los Killer Instinct 2. que puedes Requerir 2.7 Ghz de Procesador & 512 MB de Video , y 512 Mb Ram , Dependiendo del Juego.

Pero en caso de emular , una consola casera con Hardware fijo , en un punto en especifico , el emulador no usara mas de cierta cantidad de Procesador , Ram & Video . como los emuladores de "Nintendo Nes , Snes , N64 , GameCube , Wii" , "Sega Master / Genesis / CD / Saturn / DreamCast" , "Sony PlayStation 1 / 2". Esos emuladores tienen un limite de uso de procesador ( hasta donde yo se ) , excepto tal vez con "bsnes" que esta dedicado a la precision , y puede usar demasiado procesador.

El lanzador de Bash devuelve al final "Killed".
- Eso no me gusta .
El lanzador de Python también falla (podría solucionarse con algún symlink):

Código: Seleccionar todo

$ epsxe
sh: /home/esteban/.epsxe/epsxe: No such file or directory
Bueno a estas alturas , creo que es mejor , mejorar el Script que hize , mostrar las cosas graficamente , tal vez via Zenity .
Para hacerlo mas orientado al usuario final :D , y actualizar el launcher bash epsxe de AUR.

Avatar de Usuario
alfplayer
Archer Confiable
Archer Confiable
Mensajes: 479
Registrado: 19 Nov 2010, 13:39
Ubicación: Buenos Aires, Argentina
Contactar:

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por alfplayer » 02 Jun 2011, 23:55

inukaze escribió:Sinceramente prefiero que todo este dentro del "$HOME" , yo lo colocaria en "$HOME/.bin/Games/Emulators/ePSXe"
En los bin se supone que van ejecutables, no paquetes enteros. Me parece mejor dejarlo como está: crear un directorio donde se descomprime, que después se puede mover a otro directorio. Lo que se dice una aplicación portable.
Parabola GNU/Linux-libre - basada en Arch - distribución libre según el Proyecto GNU.

inukaze
Archer Intermedio
Archer Intermedio
Mensajes: 78
Registrado: 11 May 2011, 13:41

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por inukaze » 03 Jun 2011, 00:18

bueno , sabes desde que "/proc" se obtiene el tamaño de la memoria de la tarjeta de video ??? , para poder cambiar algo en el script ???

Bueno , Realmente el del directorio era el que mas buscaba :D . Edite las siguientes partes dejandolas asi :

Código: Seleccionar todo

# Change to game directory
ePSXe_Path=${0%/*}
cd "$ePSXe_Path"
[/b]

Código: Seleccionar todo

RAM_Kb=`grep MemTotal /proc/meminfo | awk '{print $2}'`
if [ "$RAM_Kb" -ge "128000" ]
then
	let RAM_MB=$RAM_Kb/1000
	echo "You have $RAM_MB MB RAM"
[/b]

Código: Seleccionar todo

if [ "$nv_card_size" -ge "64000" ]
			then
			let nvcard_mbmem=$nv_card_size/1000
			echo "You have $nvcard_mbmem Mb Video Memory"
[/b]

De Todos modos es mejor que vean el script de PasteBin >> http://pastebin.com/MzmpNvd4

Avatar de Usuario
alfplayer
Archer Confiable
Archer Confiable
Mensajes: 479
Registrado: 19 Nov 2010, 13:39
Ubicación: Buenos Aires, Argentina
Contactar:

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por alfplayer » 03 Jun 2011, 01:27

inukaze escribió:

Código: Seleccionar todo

# Change to game directory
ePSXe_Path=${0%/*}
cd "$ePSXe_Path"
Ah, sí, me había olvidado las dobles comillas en cd.

Ya encontré el error de aur/epsxe, que también aparecía con aur/epsxe-launcher-bash. Ahora esos dos paquetes funcionan bien. Cuando termine de actualizar el sistema voy a probarlo de nuevo y publicar la solución en la página de aur/epsxe. Ya estaría funcionando bien. La ventana ahora abre bien como con tu paquete.
Parabola GNU/Linux-libre - basada en Arch - distribución libre según el Proyecto GNU.

inukaze
Archer Intermedio
Archer Intermedio
Mensajes: 78
Registrado: 11 May 2011, 13:41

Re: script en Bash para ejecutar ePSXe 1.6.0

Mensaje por inukaze » 03 Jun 2011, 08:35

Bueno como he dicho antes , ahora me gustaria , que mostrara graficamente por ejemplo :

Se Necesitan 64 Mb de Video - Tu Tienes "$variable"
Se Necesitan 128 Mb de Memoria Ram - Tu Tienes "$variable"
Se Necesitan 800 Mhz de Procesador - Tu Tienes "$variable"
Se Necesita Aceleracion 3D - Si hay / No Hay

Pero , sabes como usar Zenity ??? yo he hechos varios mini-scripts para Ubuntu , usando Zenity , y me ha resultado muy practico , para hacer ventanitas graficas a traves de Bash. y si se cumplen los requisitos , Zenity finalize , y se abra el Emulador :=) Que te parece la idea ??? , Ahora lo dificil seria lograr que el Script haga eso xD.

Porcierto , sabes si el comando "whereis" funciona en archlinux , yo se que para que "locate" funcione se debe instalar "slocate" primero y luego usar "sudo updatedb" .

Y Me gustaria saber si en ArchLinux , puedes usar algo como

"cat /etc/lsb-release" , para saber el "Nombre de la distro" :D , o si hay algo que funcione en todas las distros sin excepcion , creo que sera mejor :D

mientras tanto pense en agregarle algo como esto al Script :

Código: Seleccionar todo

# Determining Linux Distribution Name for use 32 Bits Libs.
	DISTRONAME=`awk '/DISTRIB_ID=/' /etc/*-release | sed 's/DISTRIB_ID=//' | tr '[:upper:]' '[:lower:]'`
	if [ "$DISTRONAME" = "$DISTRONAME" ]
	then
		export LD_LIBRARY_PATH="$ePSXe_Path/.32bits_libs/$DISTRONAME"
		export LD_PRELOAD="$ePSXe_Path/.32bits_libs/$DISTRONAME/libaoss.so" exec "[email protected]"
		echo
		echo	"Using 32 Bits Libs for $DISTRONAME"
		echo
	else
		export LD_PRELOAD="$ePSXe_Path/.32bits_libs/testing"	
		export LD_PRELOAD="$ePSXe_Path/.32bits_libs/testing/alsa-oss/libaoss.so" exec "[email protected]"
		echo
		echo	"ePSXe dont have 32 Bits Libs for $DISTRONAME"
		echo	"Trying with Testing 32 Bits Libs - ePSXe Possible dont Run"
		echo	"With This Libs you need 32 Bits Libs of Your Distro : $DISTRONAME" 
		echo
	fi		
[/b]

Bueno , mientras espero una respuesta voy pensando que mas puede hacer el Script de Utilidad , al momento de ejecutarse , estuve pensando , hay demasiadas distros basadas en "Debian" , "Redhat" , "Slackware" , principalmente , hay cientos de ellas, entonces supongo que si tomo las librerias de 32 Bits del sistema base , por ejemplo las de Debian , deberian funcionar en todas sus derivadas como Ubuntu , LinuxMint Debian , etc

Luego me puse a observar "http://futurist.se/gldt/" , mire la imagen "http://futurist.se/gldt/wp-content/uplo ... dt1104.png" . y si efectivamente hay demasiadas distros , asi que sera mejor usar las librerias de 32 Bits de la "distro madre" para ahorrar tiempo y espacio

Ya que si me pongo a crear carpetas con el nombre de cada "distro" y ocupandolas con sus propias versiones de las librerias de 32 Bits que necesitan , mi paquete de ePSXe , se va a volver demasiado pesado innecesariamente , podria llegar a ocupar , en un exagerado ejemplo 2 Gigas , de tantas librerias para cada distro. por eso creo que es mejor definir una exagerada "$Variable" que obtenga el nombre de la distro en uso , y si es igual , a "distro madre" o "distro hija" se usen las librerias de la distro madre de todos modos. Me entienden ???

Bueno creo que eso seria un tanto tedioso de escribir , pero a la final muy util :D
Última edición por inukaze el 03 Jun 2011, 12:10, editado 1 vez en total.

Responder