Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta Linux. Mostrar todas las entradas

domingo, 11 de noviembre de 2012

Graphics Acceleration with M880G (Mobility Radeon HD4200) in Sabayon Linux

I just started using Sabayon Linux instead of Ubuntu. Ubuntu went just stupid after changing to Unity (specially with my video cards), so I wanted to give a try to something else.

Downloaded Sabayon 10 and burned into a DVD, but everything became difficult after that. The ISO won't past the Start/
Install Sabayon option in the boot screen. The dvd would stop spinning, my flashdrive (burned with dd_rescue) would turn off.
The solution was using Universal USB Installer for Windows 
http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ and I have to say, it works perfectly fine with every distro I tried (worked just better than unetbootin).

After installing the distro, I realize this was not gonna be a clean migration to Sabayon to my hardware; because the system just won't boot up, or at least the graphical interface.
During the boot, between the "Press Alt+F1" and "Press F2" for verbose mode, the display would show garbage and X would fail. Pressing Ctrl+Alt+F1 would send me to tty1 and there I could restart.
I only could boot in graphics mode pressing Alt+F1 and later F2 for verbose mode. Convenient huh? I wanted to see what had failed and when I do keep an eye on the system messages it would just work as normal.

But it looked like a stripped version of gnome. No effects, no beautiful interface. Something was wrong. So I started reading about it. 


Finally, with some help of the sabayon irc channel I could fix it:

Installed xf86-video-ati drivers. An user told me flgrx is no longer supported in 4xxx series, so the best choice is going with the open source version.
# equo install 
xf86-video-ati

Set xorg-x11 as the primary open-gl interface
# eselect opengl set xorg-x11

And set the radeon driver in /etc/X11/xorg.conf
# nano /etc/X11/xorg.conf

Section "Device"
   Driver "radeon"

It was before set with "ati". The same user told me this behavior was strange, the gpu-detector should select radeon, but it hasn't been an isolated case. And since "ati" would work nonetheless and start, people would use it but reporting glitches and performance issues.

The driver mismatch could be confirmed with:
# lspci -k
which in "VGA compatible controller" section, the kernel driver in use was in fact "radeon"


I hope this helps someone else with same problem.

Happy tuxing!

viernes, 8 de junio de 2012

*findhere* Searching through "whereis" output directories

This morning I was trying to find python's mechanize plugin source code to look into its docstrings.
Having a little hard time finding where that little file should be located I wrote this little bash script.

It takes 2 arguments, first the string to feed whereis (locates binaries, source code, and manuals) then, the string you're looking for that might be inside the folders of that binary.

#!/bin/bash

##############################################################################
#Thanks to http://ubuntuforums.org/showthread.php?t=642704
#
# ----------------------------------------------------------------------------
# "THE SODA-WARE LICENSE" (Revision 42):
# <http://reikaze.blogspot.mx/> author wrote this file. As long as you retain 
# this notice you can do whatever you want with this stuff. If we meet some 
# day, and you think this stuff is worth it, you can buy me a coke in return.
# ----------------------------------------------------------------------------
#
# Takes 2 arguments:
#    1st: Will use it with "whereis" command, to find binaries locations
#    2nd: The string that should be search for inside the binary locations
#
##############################################################################

output=$(whereis $1)
array=($output)
for i in $(seq 1 $((${#array[*]} - 1))); do
 result=$(find ${array[$i]} -iname $2 2>/dev/null)
 if [ "$result" != "" ];
 then echo $result
 fi
done
For those who want to learn a little about bash scripting:

"#!/bin/bash"
Will indicate the script interpreter that should be used to run this script.

"$(whereis $1)"
Executes whereis with the first argument. The output will be saved on output variable.

"array=($output)"
Will make an array from whereis output, it's divided with whitespaces.

"for i in $(seq 1 $((${#array[*]} - 1))); do"
The beginning of a loop through every element of the array.
If the array has 6 elements, will go through the second (1) to the last element (5) --the array begins on the (0) element.
"seq" command will output a sequence of numbers, in this case, from 1 to 5. And each number will be saved in "i" on each iteration. ${array[*]}: refers to every element of "array"
${#array[*]}: is the total elements of "array".
So, (${#array[*]} - 1) = (6-1) = 5.
Then, $(seq 1 $((${#array[*]} - 1))) = $(seq 1 5) = 1 2 3 4 5
Finally, in the example given the sentence will mean "for i in 1 2 3 4 5; do"

"result=$(find ${array[$i]} -iname $2 2>/dev/null)"
Will look for this script's second argument ($2) on each location stored on "array"
e.g. find /usr/lib/python2.7 -iname mechanize
2>/dev/null means that every error will be ignored (some of the results of whereis are files not folders)
/dev/null is a device that does nothing, it's like a black hole.
2 is the output error buffer
">" is used to redirect output buffers
Well I hope this would be useful for somebody else.

viernes, 14 de mayo de 2010

Freaking Permisos en Ubuntu y Downloader4X

Bueno algunos sabrán que llevo rato peléandome con samba y demás cosas de la red de mi casa, y hoy fue el segundo encuentro, solo que... el problema no era con ella.

Y así, érase una... hace 10 minutos,


.::Leer Entrada Completa::.

que quería pasar a mi computadora un capítulo de una serie que estoy viendo, a través de la red de mi casa. Y oh sorpresa! "Error al copiar el archivo" en detalles me decía "Premiso Denegado", y bueno, ese dichoso mensaje lo primero que me hace pensar es "eh? necesito ser root o k pedo?" [Root - Superusuario - El jefe de jefes - Hay papi ya llegaste dice la compu].

.::Ver mis Aventuras encontrando al culpable::.

Pero o sea, lo estoy copiando desde mi compu, ya hace rato que en las dos computadoras tengo el mismo smb.conf (archivo de configuración del servicio de Red de Windows para Linux) para quitarme de problemas. Me la pasé revisando y revisando el archivo de configuración para ver si había algo diferente que me haría que necesitara un tipo de autentificación, pero no... todo igual.

Como en esa computadora le he instalado y desinstalado varias cosas acerca de samba, entonces probé en cotejar los paquetes instalados en el gestor synaptic (es un programa con el que seleccionas el programa que quieres, le das aplicar, y te lo baja e instala automáticamente... ahí mismo puedes ver los programas que por así decirlo, están instalados en tu sistema... nice verdad?). Intenté dejarlo igual que la mía (que funciona perfectamente en red con otras computadoras en la escuela y en cualquier lugar).... y me metí en más problemas XD. De repente la otra computadora dejó de ser parte de la red. Pero bueno como pude recordar lo que desinstalé, no tardé en regresar todo a la normalidad.

Aún con ese viaje, simplemente no me permitía copiar archivos a mi computadora, hasta que intenté copiar otro archivo en otra carpeta y ¡voilà! se pasó sin problemas... "Hmm, entonces el problema puede que sean las carpetas"

Recordé que el mensaje me decía "Permiso denegado", entonces de alguna manera era diferente esa carpetas de las demás.
Me puse a revisar sus propiedades, sus permisos (en click derecho->propiedades =P), comparando esa carpeta con los demás, y nadaaa todo igual. Era raro, no era la carpeta... y empecé a revisar los archivos. Ahí estaba el pedo =S, los archivos de alguna manera se creaban para que solo los pudiera leer y modificar el usuario del equipo (y no visitantes extraterrestres como yo desde mi otra computadora).

Verán en linux cada archivo y carpeta tienen permisos, esto como cuestiones de seguridad (como podrán haber notado... si esos archivos fueran confidenciales, se hubieran salvado de que no los revisara alguna persona amante de los chismes que estuviera en nuestra red local).

Y existen 3 tipos de permisos y tres grupos principales de usuarios (o sea, tipos de individuos que quieran acceder al archivo).
* Lectura

* Escritura
* Ejecución [Del tipo cuando quieres correr un programa]

Y los 3 grupos de usuarios son:

* El propietario [quien creó el archivo]

* El grupo al que pertenece el propietario [yep, pueden haber grupos... amigos que vienen a mensear un rato mientras se comen un sandwich, programitas que quieren jugar con nuestros archivos, personas chismosas que están en la red local, etc...]
* Cualquier otro usuario [como yo accedía desde la red local, y el creador del archivo obviamente no lo creó a través de la red (por lo tanto no pertenece al grupo de "redes" por asi decirlo), así que en este grupo de usuarios caía yo]


Los permisos de los archivos al igual de las carpetas pueden verlos con click derecho->propiedades->permisos.
Notarán que cada grupo puede tener toda combinación posible de los 3 tipos de permisos. Por la consola, pueden ver los permisos con el parámetro -l del comando ls (comando "listar" le llamo). O sea, escribiendo ls -l .
Del lado izquierdo se podrán leer los permisos como un conjunto de letras, y se agrupan según el orden que escribí arriba.


Y bueno, ¿solución parcial? Cambiarle los permisos.
Los permisos estaban especificados como "Lectura y Escritura" para el Propietario y "Nada" en los otros dos grupos, en los otros grupos le cambié a "Lectura Solamente".
Y listo, pude copiar sin problema el capítulo a mi computadora ^_^.

La pregunta que quedaba flotando era: ¿por qué solo estos archivos tenían permisos diferentes?
Tan tan taaaaan...

Downloader 4 X, ó también llamado "d4x", de alguna manera creaba así los archivos...


Y bueno un paseo por la ventana de propiedades del programa lo arregló todo.

En la sección Descargas, viene una linea que dice "Permisos por defecto del archivo local". La clave claro está era la palabra "Permisos".

El chiste de este parámetro es que no viene así bonito y comprensible como "Solo Lectura para los otros weyes y el propietario puede hacer con él lo que se le relinchen sus esferas reproductivas", nooo, viene en formato "Octal", o sea, un número representando 3 variables.


.::Ver la explicación sobre como entender ese dichoso número::.

¿Recuerdan que les dije que había tres tipos de permisos y tres grupos principales?

Bueno, si ponemos eso todo en una linea en orden, quedaría así:

(Lectura-Escritura-Ejecución)Propietario (Lectura-Escritura-Ejecución)Grupo del Propietario (Lectura-Escritura-Ejecución)Otros

Para hacerlo más corto podemos representarlo con letras, y escribirlo de corrido.
L-E-Ej-L-E-Ej-L-Ej A fin de cuentas ya sabemos el orden en que van y que significan las letras.

Bueno si activado significara un 1, y desactivado (o NoPermitido) significara un 0. Podríamos representar los permisos con números. Por ejemplo "Lectura y Escritura" por parte del Propietario, Lectura de parte del grupo y para todos los demás.
Podría quedar así:

1-1-0-1-0-0-1-0-0 Más corto no? Aunque menos comprensible.

Bueno cuando hacemos el comando ls -l en la consola vienen en inglés las siglas y lo representan de esta manera
-rw-r--r-- , algo más sencillo pero siguiendo la misma técnica. Como supondrán los espacios vacios indican "No permitido". En otras palabras, lo que está escrito es lo que se puede =P.

Bueno, para hacerlo aún más corto (y es a lo que viene la representación octal), cada grupo de tres, lo representamos con un número.

0-0-0 = 0 (No se puede Leer, ni Escribir, ni Ejecutar)
0-0-1 = 1 (Se puede Ejecutar)
0-1-0 = 2 (Se puede Modificar[Escritura])

0-1-1 = 3 (Se puede Modificar y Ejecutar)
1-0-0 = 4 (Se puede Leer)

1-0-1 = 5 (Se puede Leer y Ejecutar)

1-1-0 = 6 (Se puede Leer y Modificar)
1-1-1 = 7 (Se puede Leer, Modificar y Ejecutar)


Así que el ejemplo anterior lo podríamos representar como 644. (Por cierto... ¿notan que solo hay 8 valores posibles?, bueno, por eso se llama sistema octal)


Y bueno... qué decía en la línea "Permisos por defecto del archivo local"?
Pues 600. O sea: rw- --- --- = El propietario puede leerlo y modificarlo, el grupo y las otras personas no pueden hacer ni madres con él.


¿Qué hacer? Cambiarlo, por "El propietario puede hacer lo que se le dé la gana y cualquier otra persona puede leerlo cuantas reputas veces quiera" (sorry llevo días con este problema XD).
Que sería un 644... rw- r-- r--
(quiiiiuubule... ahora ya saben leer valores octales, y de hecho binario también)

Bueno el chiste es que decía 600 y lo cambié por 644, le di aplicar y zan se acabó =D.
Bajé un archivo como prueba con es programa, y desde la red pude copiarlo a mi compu, sin necesidad de cambiarle los permisos manualmente en la otra compu.


=DDD


Bueno si les interesa aprender más sobre permisos en linux, les dejo esta página con la que me informé. http://www.zzee.com/solutions/linux-permissions.shtml

Y que tengan un Feliz Networking!

jueves, 10 de diciembre de 2009

Regresando a Windows

Tenía como dos semanas que no usaba Windows, mi experiencia al volver.

Al principio, horrible, realmente iba lento. En ubuntu al momento de arrancar estoy acostumbrado en darle click al Firefox y al emesene; al momento de hacerlo en ubuntu, oh dios.

Se medio trabó el messenger, y tenía el sistema muy lento. Tuve que bajar un par de programas para revisar los procesos y asegurarme que todo iba bien, pero al parecer el AVG y el Windows se estaban actualizando. Así que pues, el messenger tardaba en cargar, firefox y windows por completo estaban lentos.

Pero así como los viejos carros... una vez que "calentó bien" (digamos 15 minutos tal vez ¬¬), me siento como en casa, sigo pensando que luego de un rato es más ágil que Ubuntu, aunque bueno, dicen que Ubuntu no es de los sistemas Linux más eficientes, pero para alguien que empieza está bien.

Me siento como si volviera a mi dormitorio luego de estar de viaje.

Cosas buenas cosas malas, ubuntu windows, libro o ebook, siguen siendo diferentes.

miércoles, 4 de noviembre de 2009

Sonidos Plus, en Emesene


Bueno a quien haya descubierto este genial clon de messenger (y que de hecho me agrada más que el messenger =D) para linux y windows, y la verdad extraña los sonidos que se pueden mandar con el Plus!
Pues aquí les dejo un minitutorial sobre como instalar y configurar el plugin para poder usar estos sonidos.

.::Leer Entrada Completa::.


1. Primero necesitas el plugin MSNPlusSounds.py
2. Guárdalo en la carpeta de plugins del emesene /home/usuario/.config/emesene1.0/pluginsEmesene
3. Y a cumplir con sus dependencias =D (la parte que más dolores me dió de cabeza)
Necesitas el comando play, ese esta en el paquete SoX (en Ubuntu ahí esta en los repositorios)
pero play no es compatible por default con mp3, así que tamb necesitarás libsox-fmt-mp3 (tamb en los repositorios). Y para que puedas recibirlos necesitas el wget, si usas ubuntu es posible que ya lo tengas instalado.
4. Una vez con SoX, libsox-fmt-mp3 y wget, simplemente actívalo en Componentes del emesene y listo, pide que te envíen un sonido, en la ventana de conversación aparece una nota musical, ahí es donde le picas para que te muestren los sonidos que tienes.

En la lista de sonidos con la nota musical los reproduces, y con el simbolo de la flecha los envías.
Y bueno eso es todo. 4 cosas MSNPlusSounds.py, play, libsox-fmt-mp3 y wget....

¿Mucho más simple que en windows no? XD

Por cierto por ahí leí que para las webcam se necesita libmimic0... pero como no la uso, pues no he probado =P. Espero que le sirva a alguien!