Buscar aquí

sábado, 13 de diciembre de 2008

Generar lista de paquetes instalados y usarla para instalarlos

Alguna vez por una u otra cuestión queremos instalar una copia nueva de nuestro Ubuntu y nos encontramos con la molestia de tener que instalar otra vez todos nuestros paquetes.

Para automatizar dicha actividad tenemos que seguir los siguientes pasos:

1. Guardar la lista de nuestro paquetes en un fichero

$ dpkg --get-selections | grep -v deinstall > ubuntu-files

2. Cuando instalemos una copia nueva de nuestro Ubuntu, habrá que decirle qué paquetes queremos que instale:

$ sudo aptitude update
$ sudo aptitude dist-upgrade
$ sudo dpkg --set-selections < ubuntu-files

3. Procedemos a instalar los paquetes indicados anteriormente:

$ sudo dselect install

Prodederá a mostrarnos todos los paquetes que se instalarán y después de pedirnos permiso los instalará.

viernes, 21 de noviembre de 2008

Problema al iniciar VirtualBox

El otro día por solucionar un problema cree otro...Por cosas de la vida actualice el kernel y sorpresa, cuando intente arrancar mi maquina virtual me arrojo el siguiente error:

VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Please install the virtualbox-ose-modules package for your kernel, e.g. virtualbox-ose-modules-generic..VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).

La primera reacción, sobre todo si uno es novato, es entrar en panico, querer regresar a Windows y perder la calma.....respira profundo...cuenta hasta 10 y....vuelve a leer...lo que te quiere decir es que el driver para VirtualBox no esta en este kernel. Al final, Por favor instala el virtualbox-ose.modules package para tu kernel.
Y eso es lo que tienes que hacer.
  1. Primero averigua que version del kernel tienes, en un terminal escribes: uname -r. Lo que devuelve la version del kernel.
  2. Entra a El Gestor de Paquetes Synaptic y buscas el virtualbox-ose.module package de la version; lo seleccionas y le das aplicar.
  3. Intentalo de nuevo y deveria funcionar.

Filosofia de una red de colaboracion

Hola a todos.....Quiero compartir con ustedes esas piedras que encuentro en el camino, esos problemitas cotidianos y como logro solucionarlos, por si a alguien le sirve la información; y asi todos ahorramos tiempo en no solucionar problemas que ya estan solucionados y podemos avanzar un paso mas.
Tambien es importante decir que no soy una autoridad en ninguno de estos asuntos, simplemente es mi apresiacion personal, como se me presento a mi, el problema y la solución.
Ojala les sirva.

jueves, 20 de noviembre de 2008

Fourier, Hilbert y Laplace en Latex

Para poder escribir los caracteres especiales Fourier, Laplace o Hilbert (entre otras) en latex, utilizar:

$ \mathcal{L} $
$ \mathcal{F} $
$ \mathcal{H} $

lunes, 17 de noviembre de 2008

Solucionando los problemas de Matlab con Linux - Ubuntu

#0 Antes de la instalación

sudo apt-get install build-essentail libstdc++2.10-glibc2.2 libstdc++6 libstdc++5 libmotif3 sun-java6-jdk

El paquete libstdc++2.10-glibc2.2 nos dará compatibilidad con las versiones de kernel anteriores. Hasta Ubuntu Dapper había la opción de exportar la variable LD_ASSUME_KERNEL=2.4.1 si queriamos usar un programa compilado con gcc 2.95 pero a partir de Edgy esto ya no funciona, así que muchos programas compilados con gcc 2.95 ya no trabajarán más. En nuestro caso, descargaremos librerías parchadas compiladas con gcc 3.3 por la misma Mathworks y que son dadas como parches.

[root@localhost matlab]# mount -t iso9660 -o loop MathWorks_R14_1.iso /media/iso1

#1: During installation
[root@localhost matlab]# sh /media/MathWorks_R14_1/install
-------------------------------------------------------------------
An error status was returned by the program 'xsetup',
the X Window System version of install'. The following messages were written to standard error:
/tmp/2493tmwinstall/update/bin/glnx86/xsetup: error while loading shared libraries: libXp.so.6: cannot open shared object file: No such file or directory

solution: yum install libXp-devel

Para poder utilizar Simulink en ubuntu Feisty necesitamos descargar libXft-nohint.tar.gz . Después extraemos libXft.so.1.1 en /urs/lib, y seguimos los siguientes pasos:
~$ cd /usr/lib
~$ sudo cp libXft.so libXft.so.backup
~$ sudo cp libXft.so.1 libXft.so.1.backup
~$ sudo rm libXft.so libXft.so.1
~$ sudo ln -s libXft.so.1.1 libXft.so
~$ sudo ln -s libXft.so.1.1 libXft.so.1

#2: Fixing simulink:

Warning: Could not access OpenGL library

solution: yum install libXpm-devel mesa-libGL-devel mesa-libGLU-devel

#3: GCC 3.4 dependencies for simulink
[root@localhost matlab] ldd /usr/local/matlab/bin/glnx86/glren.so
/usr/local/matlab/bin/glnx86/glren.so:
/usr/local/matlab/bin/glnx86/../../sys/os/glnx86/libgcc_s.so.1:
version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
/usr/local/matlab/bin/glnx86/glren.so:
/usr/local/matlab/bin/glnx86/../../sys/os/glnx86/libgcc_s.so.1: version `GCC_3.3' not found (required by /usr/lib/libstdc++.so.6)
[...]

Solution:
yum install compat-gcc*
cd /usr/local/matlab/sys/os/glnx86
mv libgcc_s.so.1 libgcc_s.so.1_back
ln -s /lib/libgcc_s.so.1 libgcc_s.so.1

#3: broken symbolic link with simulink Part One:
??? Can't load '/usr/local/matlab/bin/glnx86/libmwsimulink.so': libXft.so.1: cannot open shared object file: No such file or directory

Solution:
[root@localhost matlab]# updatedb && locate libXft.so
/usr/lib/libXft.so
/usr/lib/libXft.so.2
/usr/lib/libXft.so.2.1.2

[root@localhost matlab]# ln -s /usr/lib/libXft.so.2 /usr/lib/libXft.so.1

#4: broken symbolic link with simulink Part Two:
??? Can't load '/usr/local/matlab/bin/glnx86/libmwsimulink.so':
/usr/local/matlab/bin/glnx86/libqt-mt.so.3: undefined symbol: XftFreeTypeOpen

Solution :
# yum install qt
# mv /usr/local/matlab/bin/glnx86/libqt-mt.so.3 /usr/local/matlab/bin/glnx86/libqt-mt.so.3_back
# ln -s /usr/lib/qt-3.3/lib/libqt-mt.so.3 /usr/local/matlab/bin/glnx86/libqt-mt.so.3

Matlab trabajará bien (incluído Simulink), sin embargo, hay el problema que la librería para cálculos simbólicos libmaple.so no aceptará segurirá reclamando que no encuentra GLIBC2.0 y nos dará error si hacemos uso de matemática simbólica en Matlab. El mensaje de error es:

Unable to load mex file: /usr/local/matlab7/toolbox/symbolic/maplemex.mexglx.
/usr/local/matlab7/bin/glnx86/libmaple.so: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
??? Invalid MEX-file ‘/usr/local/matlab7/toolbox/symbolic/maplemex.mexglx’: .

Mathworks nos da el parche en su página web:

http://www.mathworks.com/support/solutions/attachment.html?resid=1-32V31N&solution=1-1BDU5

Descarguen el archivo que es libmaple.zip, lo descomprimen y tendrán una libmaple.so no compilada con gcc 2.95 y que trabajará bien en Gutsy.

Sigan estos pasos:

1. Desde terminal ve a donde tienes instalado Matlab 7:

~$ cd /usr/local/matlab7

Entra a bin/glnx86

[install_folder]$ cd bin/glnx86

Haz una copia backup del antiguo libmaple:

$ sudo mv libmaple.so libmaple.so.old

Copia el libmaple.so parchado en esta ubicación:

$ sudo cp /home/[user]/Desktop/libmaple.so ./

Cambia el propietario y grupo de ese archivo:

$chown root:root libmaple.so

Haz que ese archivo sea ejecutable por usuario, grupo y usuarios:

$chmod ugo+x libmaple.so

Una pequeña explicación de chmod es que:

o” significa owner
g” significa group
u” significa users
+x“significa añade ejecución para este archivo



#5 Sure, there is no .desktop file for gnome/kde menus:

Solution:
# gedit /usr/share/applications/matlab.desktop
[Desktop Entry]
Version=7
Encoding=UTF-8
Name=Matlab_R14
Comment=matlab
Icon=stock_appointment-reminder
Exec=/usr/local/bin/matlab
Terminal=true
Type=Application
Categories=Education;Science;Engineering;
X-Desktop-File-Install-Version=0.10

Gracias a:
http://pintucoperu.wordpress.com/

sábado, 15 de noviembre de 2008

Parche para problema de Linux Firefox con Windows Live Hotmail

Windows constantemente está cambiando el comportamiento de Live Hotmail y un resultado de esto es que están comprobando que tipo de navegador se está usando. En consecuencia, eso puede causar un problema con algunas versiones de Linux Firefox (Firefox 3.0.3).

En Ubuntu 8.10 con Firefox 3.0.3, este problema se refleja de tal manera que al iniciar Hotmail, el sito le pide “Actualizar tu explorador Web” y para finalmente llegar a la cuenta de correo, hay que hacer clic en “continuar con Windows Live Hotmail” en la misma página. Además, una vez en la página no se puede editar el correo.

Hasta que esto se resuelve, se puede aplicar un parche en Firefox. La solución no es 100% perfecta, porque el campo para editar el correo está reducido…pero por lo menos funciona.

Descargar y agregar “User Agent Switcher” en Firefox

Primero hay que descargar e instalar en Firefox el Agregado: “User Agent Switcher “.
En Firefox seleccione ‘Herramientas > Agregados‘ y en el campo de búsqueda, escribe “User Agent Switcher” o descárguelo directamente aquí

Configuración de User Agent Switcher

Una vez instalado el User Agent Switcher y reiniciado Firefox, hay que agregar un llamado “Agente”:

1.) Seleccione ‘Herramientas > User Agent Switcher > Opciones > Preferencias’ (para Ubuntu 8.10 con Firefox 3.0.3) o ‘Herramientas > User Agent Switcher > Opciones > Options’ (para Ubuntu 8.04)

2.) Seleccione “Agentes” y haga clic en ‘Añadir

3.) Llene los campos con la siguiente información y guardelo después, dando dos veces clic en ‘Aceptar
- “Etiqueta”: Firefox for Win32
- “Agente”: Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11

4.) Ahora seleccione el nuevo Agente (Firefox for Win32), en ‘Herramientas > User Agent Switcher’

También existe la manera de crear un archivo XML (ej. firefox-win32.xml), usando un editor de texto, con el siguiente contenido (en rojo):


useragent=”Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11″/>


e importarlo a Firefox:

1.) Seleccione ‘Herramientas > User Agent Switcher > Opciones > Preferencias’ (para Ubuntu 8.10 con Firefox 3.0.3) o ‘Herramientas > User Agent Switcher > Opciones > Options’ (para Ubuntu 8.04)

2.) Seleccione “Agentes” y haga clic en Import…

3.) Importe el archivo XML creado (ej. firefox-win32.xml)

4.) Ahora seleccione el nuevo Agente (Firefox for Win32), en ‘Herramientas > User Agent Switcher’

Comentarios adicionales

- Firefox no guarda la selección del User Agent Switcher, es decir cuando arranca Firefox, se activa el valor por defecto. Por tanto hay que seleccionar el “Agente” requerido cada vez que quiere conectarse a Windows Live Hotmail.
- En caso de que activar User Agent Switcher después de acceder a Hotmail, hay que recargar Firefox

domingo, 9 de noviembre de 2008

OO Impress- Personalizando el fondo

Tenemos primero que agregar el fondo que queramos en Formato - Relleno- Modelos de Bitmap, importamos desde la ubicacion de nuestra pc.

Luego en el menú Formato - Pagina, seleccionamos la opcion fondo y alli buscan los mapas de bits disponibles. Ajustan los parametros y listo!

miércoles, 5 de noviembre de 2008

Bitlbee

¿Te gustaría poder conectar a tus cuentas msn, yahoo, jabber, icq o gmail desde irssi y así tenerlo todo en el mismo programa? Pues es posible usando Bitlbee. Esta aplicación es una especie de pasarela para conectar desde clientes de irc a redes de mensajeria instantánea. De esa manera puedes gestionar tus cuentas de chat desde el mismo cliente de irc. Es muy fácil de usar. Vamos al lio.

aptitude install bitlbee -> instalamos la aplicación

Abrimos irssi y una vez que conecte con nuestra red de irc habitual, en cualquier ventana pondremos lo siguiente para conectar con un servidor público de bitlbee

/connect im.bitlbee.org

Si no funcionara este servidor, podemos probar con alguno de los muchos que hay y que puedes consultar aquí. Una vez conectados, buscaremos la ventana de bitlbee (será la última de todas), y nos registraremos en el sistema. Se hace de una forma muy sencilla:

register contraseña -> pon la contraseña que vayas a usar de ahora en adelante en el servidor de bitlbee.

En los comandos de bitlbee no se pone la barra al principio del comando (/)

Ya registrados, nos identificamos:

identify contraseña -> y ya estaremos correctamente logueados en bitlbee

El siguiente paso es dar de alta las cuentas que vayamos a usar, lo cual se hace de la siguiente forma dependiendo de la red que usemos. Se pueden dar de alta las cuentas que quieras, ya que bitlbee es multiprotocolo:

MSN: account add msn usuario@hotmail.com contraseña
YAHOO: account add yahoo usuario contraseña
GTALK: account add jabber usuario@gmail.com contraseña talk.google.com:5223:ssl
JABBER: account add jabber usuario@jabber.org contraseña
ICQ: account add oscar id contraseña login.icq.com
AOL: account add oscar id contraseña login.oscar.aol.com

Si ya hemos creado toda/s nuestras cuentas, ahora deberemos conectar y guardar:

account on -> conecta todas las cuentas
save -> guardar todos los cambios realizados

Otros comandos relacionados con las cuentas son:

account list -> nos da una lista de las cuentas existentes
account on id -> conecta la cuenta número id
account off id -> desconecta la cuenta con ese id
account off -> desconecta de todas las cuentas
account del id -> borra la cuenta número id

Para la gestión de usuarios, disponemos de los siguientes comandos:

add id usuario@loquesea.com -> añadir usuario a una cuenta determinada
remove usuario -> borra usuario
info usuario -> muestra información sobre el usuario
block/allow usuario -> ignora/reacepta al usuario
remane usuario usuario2 -> renombra usuario a usuario2

Para comprobar quién está conectado:

blist -> lista de usuarios conectados
blist all -> lista de TODOS los usuarios, conectados o no
blist online -> lista de contactos conectados
blist offline -> lista de contactos desconectados
blist away -> lista de contactos ausentes

Cuando queramos desconectar de todas las cuentas no debemos olvidar hacerlo también de bitlbee. Lo más cómodo es usar un alias, por ejemplo:

/alias im connect im.bitlbee.org;account on -> para conectar a todas las cuentas
/alias imoff account off;disconnect;wc -> cerramos las cuentas, desconectamos de bitlbee y cerramos la ventana.

lunes, 3 de noviembre de 2008

AM_PROG_LIBTOOL

Error:

autoconf
configure.in:8: error: possibly undefined macro: AM_PROG_LIBTOOL If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation.
make: *** [all] Error 1
*** Exited with status: 2 ***

Solución:

Tan fácil como

apt-get install libtool

Programar en C con el KDevelop

La libreria conio, -y su cabecera conio.h- eran un conjunto de funciones específicas de Borland para manejar la pantalla en sistemas basados en MSDOS. Al dar el paso a Linux, estás dando un enorme salto, porque pasas a trabajar con un sistema operativo Unix que tiene que funcionar en todo tipo de consolas: desde pantallas de PC en modo texto, hasta terminales gráficos, incluso viejos terminales tontos de fósforo verde. Cada uno de estos tipos de terminales tiene su propia forma de formeatear y direccionar la pantalla, de forma que para trabajar con ellos no sirve una librería como Conio.h de Borland.

¿Estas perdido?

No. Existe una librería para Unix, llamada Curses que te permite trabajar con la pantalla independientemente del tipo de consola o terminal que estés usando. Lo que pasa es que es algo más complicada de usar que conio.h, pero tampoco desesperes.

Aquí tienes un tutorial muy completo para trabjar con NCurses, que es la versión de Curses más habitual en Linux:

http://web.cs.mun.ca/~rod/ncurses/ncurses.html
http://web.cs.mun.ca/~rod/ncurses/ncurses.html
http://web.cs.mun.ca/~rod/ncurses/ncurses.html

Aquí tienes Linux "conio.h" que es un recubrimiento de la librería curses para ofrecer una interfaz similar a la de conio.h de C -no lo he probado-.

http://page.mi.fu-berlin.de/~fland/projects.html
http://page.mi.fu-berlin.de/~fland/projects.html
http://page.mi.fu-berlin.de/~fland/projects.html

Obviamente este último caso requiere que te bajes la librería, la compiles por tí mismo y le digas al gcc que la use, lo cual puede no ser trivial si eres nuevo en Unix. Si tienes algún problema ya sabes.

Mi consejo es que no te comas demasiado la cabeza por la presentación de los programas en C/C++. Es muy fácil con KDevelop usar libreriás como Qt -en la que se basa KE- y podrás hacer apliaciones gráficas mucho más fácilmente que si usaras, por ejemplo, MFC con Visual C++. Pero insisto, si puedes, haz programas simples que lean su entrada de fichero y vuelquen la salida por pantalla y poco más.

¿qué tipo de programa quieres hacer?

jueves, 28 de agosto de 2008

Activar XDM, KDM, GDM


Para los usuarios de Slackware, se nos brinda un inicio de sesión en consola; para muchos esto puede ser desagradable por el poco conocimiento Linux. En esta ocasión vamos a cambiar esto por nuestro querido XDM, KDM o GDM.

Paso 1:
Editamos el archivo /etc/inittab
#sudo emacs /etc/inittab

cambiando la línea:
id:3:initdefault:

por
id:4:initdefault:


Solo es necesario cambiar el 3 por el 4, si revisamos en la parte superior aparece la descripcion de los valores que puede tomar (0 al 6)

Paso 2:
En este paso vamos a escoger cual vamos a usar. Para esto editamos el archivo /etc/rc.d/rc.4
#sudo emacs /etc/rc.d/rc.4

veremos una lineas similares a estas:

if [ -x /usr/bin/gdm ]; then
exec /usr/bin/gdm -nodaemon
fi

# Someone thought that gdm looked prettier in /usr/sbin,
# so look there, too:

if [ -x /usr/sbin/gdm ]; then
exec /usr/sbin/gdm -nodaemon
fi


# Not there? OK, try to use KDE's kdm session manager:


if [ -x /opt/kde/bin/kdm ]; then
exec /opt/kde/bin/kdm -nodaemon
fi

# If all you have is XDM, I guess it will have to do:
if [ -x /usr/X11R6/bin/xdm ]; then
exec /usr/X11R6/bin/xdm -nodaemon
fi


Esto indica que primero ejecutara gdm (si existe y si tienen permisos de ejecución), kdm en caso contrario, y al final xdm.

Modificamos el orden de estos; ejm: si quisieramos que xdm se ejecute primero, el bloque de xdm debe ir al comienzo.

Paso 3:
Reiniciamos y Listo.

Nota: Verificar si los archivos tienen permisos de ejecución

miércoles, 27 de agosto de 2008

Shutdown and reboot buttons are missing

Quote:
Originally Posted by Zoogie View Post
For those who are running Xgl nested, the reason why you lose the "shutdown/reboot/etc" options is because the Xgl server running at :1 isn't authorized to talk to GDM.

My (rather hacky) solution was to add the following to my Xgl startup script (just before running gnome-session):

Code:
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
This clones the xauth cookie from :0 into :1.

Let me know if this works for you; I've tried it on two systems now and it seems to work, at least when using GDM.
this worked for me too... thx a lot

here is my /usr/bin/startxgl
Code:
#!/bin/sh
Xgl :1 -fullscreen -ac -accel xv:pbuffer -accel glx:pbuffer &
DISPLAY=:1

cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"

exec dbus-launch --exit-with-session gnome-session
\m/
Skukfas is offline Reply With Quote
Old April 6th, 2007 #72
annihilus06
First Cup of Ubuntu

Join Date: Apr 2007
Posts: 11
Thanks: 0
Thanked 0 Times in 0 Posts
Re: Shutdown and reboot buttons are missing

Quote:
Originally Posted by AlwaysLearning View Post
Rather than mucking around with Xgl settings I found a simpler solution that worked for me under GNOME/Beryl. It *may* also work under Kubuntu. Here's what I did...

In a Terminal window:

Code:
sudo touch /usr/local/bin/fix-logout-dialog.sh
sudo chmod 755 /usr/local/bin/fix-logout-dialog.sh
sudo gedit /usr/local/bin/fix-logout-dialog.sh
Then, inside fix-logout-dialog.sh I have:

Code:
#!/bin/sh

# Get my cookies in place for Restart and Shutdown buttons on Logout Window...
export DISPLAY=:1
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
As a simple test, click your "Log off" button and make sure that the Restart and Shutdown buttons are *NOT* there. Then, in the Terminal window run:

Code:
/usr/local/bin/fix-logout-dialog.sh
Note, you don't need to sudo it. Click your "Log off" button again and the Reboot and Shutdown buttons should now be there.

As a final step, go to System/Preferences/Sessions, select the Startup Programs tab and add an entry for /usr/local/bin/fix-logout-dialog.sh - the Restart and Shutdown buttons should now stay there consistently.

Could someone try this out under Kubuntu and let me know if it works?

Thanks alot, this is what worked best for me. I had tried the solution of adding a file under /etc/X11/sessions and that worked also, but for some reason this method disabled my icon theme. The above method did only what was wanted, enabled my shutdown/restart.

Thanks again AlwaysLearning!
annihilus06 is offline Reply With Quote
Old June 12th, 2007 #73
maver1ck
First Cup of Ubuntu

Join Date: Sep 2006
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Re: Shutdown and reboot buttons are missing

Quote:
Originally Posted by annihilus06 View Post
Thanks alot, this is what worked best for me. I had tried the solution of adding a file under /etc/X11/sessions and that worked also, but for some reason this method disabled my icon theme. The above method did only what was wanted, enabled my shutdown/restart.

Thanks again AlwaysLearning!
I tried those solution on kubuntu and it doesn't work.

My scripts:

maverick@maverick:~% cat /usr/share/xsessions/xgl.desktop 3:23
[Desktop Entry]
Encoding=UTF-8
Name=Xgl
Comment=Start an Xgl Session
Exec=/usr/bin/startxgl
Icon=
Type=XSession

maverick@maverick:~% cat /usr/bin/startxgl 3:24
#!/bin/bash
Xgl :1 -fullscreen -ac -accel xvbuffer -accel glxbuffer -br &
DISPLAY=:1
export KDEWM="/usr/bin/beryl-manager"
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
exec startkde

Any idea what could be wrong ?

Regards,
Maciek
maver1ck is offline Reply With Quote
Old June 12th, 2007 #74
maver1ck
First Cup of Ubuntu

Join Date: Sep 2006
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Re: Shutdown and reboot buttons are missing

I found a solution:

In /var/run/xdmct directory you should make some symbolic links:
(if you xserver is on :0 and xgl on :1)

maverick:/var/run/xdmctl# ln -s dmctl-:0 dmctl-:1
maverick:/var/run/xdmctl# ln -s xdmctl-:0 xdmctl-:1

That's all.

Regards,
Maciek
maver1ck is offline Reply With Quote
Old June 20th, 2007 #75
stepol
First Cup of Ubuntu

Join Date: Feb 2007
Location: Belgium
Posts: 10
Thanks: 2
Thanked 0 Times in 0 Posts
Re: Shutdown and reboot buttons are missing

Quote:
Originally Posted by maver1ck View Post
I found a solution:

In /var/run/xdmct directory you should make some symbolic links:
(if you xserver is on :0 and xgl on :1)

maverick:/var/run/xdmctl# ln -s dmctl-:0 dmctl-:1
maverick:/var/run/xdmctl# ln -s xdmctl-:0 xdmctl-:1

That's all.

Regards,
Maciek
The first solution that works on KDE .
Thanks Maverick
stepol is offline Reply With Quote
Old July 3rd, 2007 #76
K_Soze
5 Cups of Ubuntu

K_Soze's Avatar

Join Date: Jun 2007
Posts: 43
Thanks: 0
Thanked 0 Times in 0 Posts
Re: Shutdown and reboot buttons are missing

Quote:
Originally Posted by maver1ck View Post
I found a solution:

In /var/run/xdmct directory you should make some symbolic links:
(if you xserver is on :0 and xgl on :1)

maverick:/var/run/xdmctl# ln -s dmctl-:0 dmctl-:1
maverick:/var/run/xdmctl# ln -s xdmctl-:0 xdmctl-:1

That's all.

Regards,
Maciek
I am running KUBUNTU but I don't see a xdmct directory, I see a xdmctl directory?

The other question I have is how exactly and where do I make these links?

Can anyone help?

Last edited by K_Soze; July 3rd, 2007 at 03:40 PM. Reason: poor grammer
K_Soze is offline Reply With Quote
Old July 4th, 2007 #77
the_saint07
First Cup of Ubuntu

Join Date: Jun 2007
Location: Dominican Republic
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Re: Shutdown and reboot buttons are missing

Please help...

When I originally instaled beryl i encountered this problem and applying the first solution mentioned could deal with it.

But now after some updates or something my two buttons are gone again. i check all the scripts i made the first time and all of them are intact. I tryed the solution on post 62 but it didn't work for me.

I couldn't apply the last maverick solution because didn't find the xdmcl directory.
__________________
Acer Aspire 5102WLMi, AMD Turion 64x2, Atheros Wireless, ATI Xpress 1100, 1.5 Gb, 100 Gb, Ubuntu 7.04 Feisty, Beryl and a lot of luck.
Smile, it confuses people.
the_saint07 is offline Reply With Quote
Old July 16th, 2007 #78
sambehera
5 Cups of Ubuntu

sambehera's Avatar

Join Date: Apr 2007
Location: mumbai
Posts: 33
Thanks: 0
Thanked 0 Times in 0 Posts
Re: Shutdown and reboot buttons are missing

Quote:
Originally Posted by maver1ck View Post
I found a solution:

In /var/run/xdmct directory you should make some symbolic links:
(if you xserver is on :0 and xgl on :1)

maverick:/var/run/xdmctl# ln -s dmctl-:0 dmctl-:1
maverick:/var/run/xdmctl# ln -s xdmctl-:0 xdmctl-:1

That's all.

Regards,
Maciek
thanks... this does solve the problem ... but only for my root account..

i added the following lines to my "startxgl.sh" script...
Code:
ln -s /var/run/xdmctl/dmctl-:0 /var/run/xdmctl/dmctl-:1
ln -s /var/run/xdmctl/xdmctl-:0 /var/run/xdmctl/xdmctl-:1
the soflink (symlink) happens through this script only when i log in as root... else i have to create the symlinks myself (as root) in order to see the buttons....
the symbolic links also disappear every time i reboot... is there any way to make them stay permanently in "/var/run/xdmctl" ?

if not, then is there any other script (which is always run with root privelages at startup) that i can append these lines to :

Code:
ln -s /var/run/xdmctl/dmctl-:0 /var/run/xdmctl/dmctl-:1
ln -s /var/run/xdmctl/xdmctl-:0 /var/run/xdmctl/xdmctl-:1
so that the symbolic links are always created in /var/run/xdmctl at startup?

is there any way i can add these commands to a script and have them create the symlinks at startup (as root) so that i can see the buttons as any user running xgl?
__________________
Quote:
|| -- If we can really understand the problem, the answer will come out of it, because the answer is not separate from the problem -- ||

Last edited by sambehera; July 16th, 2007 at 04:34 AM.
sambehera is offline Reply With Quote

domingo, 24 de agosto de 2008

Amplificadores operacionales

Amplificadores operacionales


INTRODUCCIÓN


Los amplificadores operacionales fueron desarrollados para realizar operaciones matemáticas con circuitos electrónicos.

Son circuitos analógicos que básicamente constan de tres etapas:

1) Dos entradas que son diferenciales entre si.
2) Una etapa de ganancia DC intermedia.
3) Una etapa de salida push-pull

Las entradas poseen una muy alta impedancia y por el contrario, su salida presenta una muy baja por lo que la corriente entregada a la carga es grande.

Antes aclaremos el término “push-pull”. Éste se refiere a un tipo de circuito electrónico que es capaz de manejar corrientes tanto positivas como negativas en su carga.

En ciertos dispositivos, como los microcontroladores por ejemplo, podemos asimilar un terminal "push-pull" como un pin que puede funcionar como una entrada (corriente negativa) o una salida (corriente positiva).

Casi todos los circuitos lógicos CMOS y TTL tienen terminales push-pull.

A la salida “push-pull” también se le llaman “tótem pole” debido a la apariecia física de su configuración circuital, que comúnmente se realiza con dos transistores complementarios, montados unos sobre el otro en forma de “tótem pole”.

Nota aparte:
"Totem pole" es el nombre que los Norteamericanos le dan a esos troncos tallados (Totem) con cabezas de águilas, osos, indios o cualquier figura mística o de animales y representan unidad y plegaria a dioses.

La desventaja de este tipo de salidas es que no se pueden conectar unas con otras, pues se presenta un problema cuando las salidas interconectadas manejan corrientes de carga con sentidos opuestos en forma simultánea (una positiva y otra negativa).

Por esta razón, algunos dispositivos (como los PIC, por ejemplo) tienen la opción de poner la salida a un estado de alta impedancia en la cual la salida queda flotante. A este estado se le llama “tri-stated” o “tri-state”.

Bueno aclarado esto, seguimos con los op-amp o amplificadores operacionales.

Los op-amp son amplificadores lineales, lo que quiere decir que la salida es proporcional a la entrada. La ganancia típica de lazo abierto (sin realimentación - más adelante veremos que significa esto) de estos dispositivos está comúnmente en el orden entre 10^3 y 10^6 . Como esta ganancia es muy alta, es necesario establecer una realimentación al circuito para darle estabilidad y poder controlarlo.

Recuerden que las entradas del op-amp es diferencial, lo que quiere decir que cada una de ellas (de las 2 que posee) son independientes de tierra o con un punto común y la señal entre estos dos terminales es lo que se conoce como “señal de entrada”.

A los dos terminales se les conocen como: “Entrada invertida (-)” y “Entrada No Invertida (+)

y se pueden usar en tres formas básicas:

1) Amplificador no invertido:




La señal Vi es aplicada entre la entrada NO INVERTIDA y tierra; y la salida Vo será una señal amplificada de Vi y en fase con ella. La entrada invertida se lleva a tierra.

La función de transferencia que define este amplificador es: Vo=G*Vi. Donde G es la ganancia del operacional


2) Amplificador invertido o inversor:



Ahora la señal Vi se aplica entre la entrada INVERTIDA y tierra; la salida Vo será una señal amplificada de Vi y con una diferencia de fase de 180º . La entrada no invertida se lleva a tierra.

La función de transferencia que define este amplificador es: Vo= -G*Vi. Como dijimos, G es la ganancia del operacional


3) Amplificador diferencial:



En cada entrada se ingresa una señal con un punto común.

La función de transferencia que define este amplificador es: Vo= G * (Va - Vb). Donde G ya saben lo que es.


ANÁLISIS DE UN OP-AMP BÁSICO.

El siguiente es un esquemático básico de un amplificador operacional:



Una condición de diseño del circuito es que la corriente I siempre es constante.

Vayamos despacio y hagamos un análisis básico de este esquema.

Si no hay ningún voltaje aplicado a las bases de los transistores o el voltaje aplicado es el mismo entonces I1 e I2 son iguales y a la salida Vo aparecerá cierto voltaje.

Cuando Va se hace MAS POSITIVO que Vb entonces I1 será mayor que I2 y la caída de voltaje en R1 aumentará con respecto a la caída de voltaje en R2.

Como I debe ser constante entonces I2 disminuirá en la misma proporción en que I1 aumenta, pues I=I1+I2 (según Kirchhoff) y según dijimos, siempre debe ser constante.

Según lo anterior, la caída de tensión en R2 (V2=I2*R2) también disminuye en la misma medida que I1 aumenta, por lo que Vo será una tensión cada vez MAS POSITIVA (pues en R2 cae menos tensión) en la medida que I1 se vea aumentada o lo que es lo mismo, que Va se haga más positivo respecto a Vb.

De esta forma vemos que Va es la entrada NO INVERSORA del op-amp pues hace que la salida Vo se haga cada vez más positiva con su aumento.

Haciendo un análisis idéntico para el caso en que Vb se haga MAS POSITIVO respecto a Va veremos que en la medida que esto sucede, la caída de tensión en R2 será cada vez mayor, con lo que Vo se hace cada vez MENOS POSITIVO.

Por lo tanto el punto Vb es la ENTRADA NEGATIVA del op-amp.

En realidad, los amplificadores operacionales se fabrican con transistores FET para poder ofrecer valores de impedancias muy altos.

A esta etapa básica se le añaden otras fases electrónicas como el “shifter”, que tienen la función de hacer el circuito menos susceptible a los cambios de temperatura y reducir la distorsión de la señal de salida. El “shifter” funciona como una etapa de acople DC.

Por último se la añade la etapa amplificadora que tiene las funciones de aumentar la ganancia del dispositivo, proveer la corriente de salida y hacer disponible las características de “push-pull” que les expliqué antes.

Veamos las características de lazo abierto de una op-amp ideal:

1) Entrega una ganancia entre 10^3 y 10^6 (de 60 a 120 db)

2) La resistencia de entrada es infinita (10K a 1G ohm en dispositivos reales)

3) La resistencia de salida debe ser 0 (40 a 600 ohm en dispositivos reales)

4) Requieren de una fuente de poder simétrica para poder operar (valores iguales y complementarios respecto a tierra)

Los valores de alimentación para op-amp reales van desde +/- 3 hasta +/- 30 Voltios siendo muy comunes los de fuentes simétricas de 12 y 15 voltios. Existen algunos diseños que permiten la operación con fuentes simples referenciadas a tierra. Uno de los dos terminales de alimentación debe estar conectado a tierra.

Obviamente, el valor del voltaje de salida dependerá del voltaje de alimentación es decir, no podremos obtener valor de voltajes en la señal de salida, mayores a +/-Vcc.

Lo que se llama “swing” de voltaje, es el rango en el cual puede variar la salida del amplificador operacional. El voltaje máximo que se puede alcanzar con el dispositivo se le conoce como voltaje de saturación del operacional.

El voltaje de saturación por lo general está de 1 a 4 voltios por debajo (o por encima si nos referimos a la parte negativa) de la tensión de alimentación.

Otra condición ideal de diseño es que la salida Vo debe ser 0 si las entradas también son 0. Esto en la realidad no es verdad debido a la no simetría que guardan los circuitos semiconductores a pesar de su cuidado diseño y construcción.

Como todas estas irregularidades físicas generan corrientes y tensiones que son amplificadas por el mismo op-amp, la salida de éste puede ser que sea bastante alta cuando está "en vacío" es decir, con las entradas sin señales. Para solucionar esto hay que realizar lo que se conoce como "ajuste de offset"

Amplificadores Operacionales - PARTE 2

Amplificadores Operacionales - PARTE 2

AJUSTE DEL OFFSET

En la primera parte de este minitutorial terminamos explicando el offset de tensión de los amplificadores operacionales.

Este es un efecto intrínseco no deseado de estos dispositivos que nos gustaría poder eliminar.

El offset de tensión, lo podemos ajustar variando una de las entradas del amplificador a fin de que anule o compense la tensión a la salida:



a este procedimiento se le llama ajuste de offset o “null-balance” que es un término que solemos encontrarnos cuando leemos sobre electrónica. Este ajuste es muy importante cuando usamos los operacionales en circuitos de medición.

Pero ustedes se preguntarán, “si utilizo la entrada invertida para ajustar el offset, ¿Cómo uso el amplificador?”. Con esto en vista, los diseñadores proveen de dos pines en los encapsulados, que sirven para conectar la resistencia variable y ajustar el offset.

A estos terminales se les acostumbran denominar como “offsett null” en los chips de op-amp. Las hojas de datos de los operacionales indican como usar el “offset null”.

CORRIENTE DE BIAS

Ahora bien, si observaron antes el esquema básico del operacional, se habrán dado cuenta que las dos entradas son prácticamente las bases de sendos transistores.
Pues como todo transistor requiere de una corriente de base y de una resistencia de base para polarizarlo.

Estas corrientes de base son muy pequeñas (en el orden de nano o micro amperios en amplificadores con entradas bipolares - transistores BJT) pero producirán una caída de tensión en cualquier resistencia de base que coloquemos a las entradas + o -;

Para el siguiente circuito, si las dos resistencias de base en las entradas son exactamente iguales, la tensión de salida Vo del operacional debe ser cero:



Si estas resistencias difieren en su valor, el operacional tendrá una tensión de salida espuria similar a la que vimos en el offset de tensión.

Por esta razón, deberemos tener mucho cuidado de que las resistencias equivalentes de los circuitos generadores de las señales en los terminales de entradas sean lo más parecidas posible entre ellas, pues si no desbalancearemos el operacional.

Este offset también puede ser corregido con el “offset null”.

A las corrientes que circulan por Rb1 y Rb2 se les llaman corrientes de BIAS o “BIAS currents” y al desbalance que ocasiona se le llama “offset de corriente de entrada” o “Input offset Current” (Los términos en Inglés son para que se acostumbren a estos conceptos comunes en electrónica)


EL AMPLIFICADOR OPERACIONAL SIN REALIMENTACIÓN

Veamos ahora este amplificador operacional:



Si hacemos una tabla variando Vi desde –Infinito hasta Infinito y midiendo Vo, y los graficáramos, obtendríamos una curva como la siguiente:



Nota: Los valores mostrados no son reales y se expresan con números sencillo con fines de facilitar el ejemplo.

Este gráfico nos expresa la función de transferencia del amplificador operacional ideal.

Los puntos donde la curva se hace paralela al eje Vi indican la tensión de saturación (positiva y negativa). La pendiente de la recta en la zona lineal es la ganancia G del op-amp.

Escojamos dos puntos cualesquiera de la parte recta, por ejemplo: (-0,005,-10) y (0,004,8) (créanme que estos son dos puntos de la parte recta y recuerden que el eje X está en miliVoltios y el Y en Voltios, de allí los decimales); para este caso hipotético la ganancia sería:

G= (8-(-10)) / (0,004-(-0,005)) = 18/0,009 = 2000

Este amplificador tendría una ganancia de G=2000.

Si el amplificador operacional no tiene realimentación, el offset en sus entradas cambiará en forma descontrolada en la medida que dichas entradas varíen, haciendo que el op-amp trabaje en una forma inestable y no podremos tener lo que se llama un “punto de trabajo”. Nuestro circuito estará siempre en +Vsat o en -Vsat.

Para lo único que podemos usar un amplificador operacional en lazo abierto es para COMPARAR cuando una de las entradas es mayor que la otra.

Así obtenemos un COMPARADOR:

1. Cuando V+ es mayor que V-, la salida Vo es +Vsat
2. Cuando V- es mayor que V+, la salida Vo es –Vsat

No se vayan a confundir con los signos: V+ podría valer 3 milivoltios y V- unos 2 milivoltios, con lo que Vo se iría a +Vsat (+12 voltios en nuestro ejemplo). Por otro lado y en otra circunstancia V+ podría valer 3 milivoltios y V- unos 5 milivoltios, con lo que Vo se iría a -Vsat (-12 voltios en nuestro ejemplo)

Recuerden que Vi = (V+) – (V-) por lo que en el primer caso Vi = 3-2 = 1 milivoltio y en el segundo caso Vi = 3 – 5 = -2 milivoltios.

La curva de este COMPARADOR ideal sería algo como esto:



Fíjense que si vemos el valor de G, esta sería INFINITO (pendiente vertical), en la realidad esto se indicado por una ganancia muy grande.

Los comparadores pueden ser INVERSORES o NO INVERSORES dependiendo como conectemos las señales a la entrada del amplificador operacional.

En la práctica, si queremos un comparador no inversor, pondremos la señal de referencia en la entrada invertida (V-) y la señal que queremos comparar entraría por V+. Así podemos saber cuando la señal monitoreada es mayor o menor que la referencia y actuar en consecuencia. Así, en Vo mediríamos +Vsat cuando la señal monitoreada es más grande que la de referencia y -Vsat en caso contrario.

Si deseamos invertir la salida (lógica negativa), las conectaremos al revés. En este caso en Vo mediríamos -Vsat cuando la señal monitoreada es más grande que la de referencia y +Vsat en caso contrario.

Hemos visto la primera y más simple aplicación práctica del op-amp, en la próxima entrega entraremos a ver otros circuitos básicos y fundamentales realizados con estos útiles dispositivos.