Firefox: conseguir que la tecla backspace ( retroceso / borrado) vuelva a la página anterior en linux

Para hacer que la tecla de retroceso en linux, tenga el mismo comportamiento que en windows, esto es "volver a la página anterior" tendremos que realizar lo siguiente:
1) Abir el firefox
2) Escribir about:config
3) Donde aparece "filtro", escribimos: backspace
4) Aparecerá una sóla entrada: browser.backspace_action con valor por defecto 2
5) Hacemos doble click en el 2, y establecemos como nuevo valor el 0
6) Reiniciamos el firefox

Con esto conseguiremos que al pulsar la tecla volvamos atrás en el historial

Conexión a Oracle para la etsi2

1) Para poder conectar con cualquier máquina debemos cumplir alguno de estos dos requisitos:
a) tener instalado alguna versión de oracle en nuestra máquina local
b) tener instalado el instant client de oracle (aquí puedes encontrar info de la instalación )

2) Si estamos fuera de la universidad debemos estar conectados mediante la vpn . Si usamos wpa con el portátil dentro de la universidad también podremos conectar.

3) Para poder conectar con la máquina de oracle de la Facultad de informática de la Universidad (etsi2) de Granada necesitamos modificar el tnsnames (más info sobre la conexión con alias aquí) añadiendole las siguientes lineas
# tnsnames.ora Network Configuration File:
# Generated by Oracle configuration tools.

ORACLE0 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle0.ugr.es)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = practbd.oracle0.ugr.es)
(INSTANCE_NAME = PRACTBD)
)
(HS = OK)
)

4) Para conectar por ejemplo podemos usar sqlplus. El sqlplus lo tendremos instalado si tenemos instalado oracle o con el instant client en la versión que incluye el sqlplus (descarga instant client).

desde línea de comando podemos usar el comando: sqlplus usuario/password@oracle0
si usamos el sqlplusw.exe en cadena de conexión pondremos oracle0.

Indices: indices inválidos y regeneración

Para obtener un listado de los indices inválidos usaremos la siguiente consulta:
select * from user_indexes where status = 'invalid'

Para regenerar un índice podremos hacerlo con la sentencia:
alter index nombre_indice rebuild

Para regenerar índices tendremos que regenerarlos de uno en uno.


Eclipse no se ejecuta: /usr/lib/eclipse/jre/bin/java

Cuando se realiza algunas actualizaciones a través que implican a java y el sdk, aparentemente impide que se ejecute correctamente. Para solucionarlo usaremos como root el siguiente comando:

update-alternatives --auto java

Error al arrancar SUSE: fallo en entorno X y en el init 5

Tras realizar un update de seguridad en la suse, inexplicablemente el entorno X no arrancaba al encender o reiniciar el ordenador. Concretamente el runlevel 5 es el que daba problemas, la pantalla parpadeaba, aparecía el cursor de las X pero no conseguia entrar. Para evitar los errores hice que el sistema arrancase directamente en runlevel 3 (info sobre runlevel y el comando init).
El comando startx desde linea de comandos si arrancaba correctamente el entorno gráfico, asi que el problema debia ser de gdm o más probablemente del xdm


Los mensajes de error entre otros eran los siguientes:
- gtk-warning cannot open display :0
- El servidor de pantallas ha sido detenido unas 6 veces en los ultimos 90 segundos
- Display Server has been shutdown 6 times in 90 seconds
- WARNING: failsafe dialog failed (inhibitions: 0 0)

Para solucionarlo realice lo siguiente.

1) Editar el archivo /etc/X11/xdm/Xsetup
2) Buscar la linea xrandr --newmode $line
3) Comentarla con # : # xrandr --newmode $line


PD: el chipset grafico de mi ordenador es un intel 945

VLC:No suitable decoder module for fourcc `XVID'

Recientemente he tenido problemas para la reproducción de archivos avi, codificados con xvid.

Usando el comando: vlc -vvv --no-plugin-cache
Obtenia el siguiente error: cannot load module `/usr/lib/vlc/codec/libffmpeg_plugin.so' (libmp4v2.so.0: cannot open shared object file: No such file or directory).

Para ver el software instalado ejecutamos como usuario normal:
zypper se libmp4


El problema es debido a que tengo dos repositorios para el paquete libmp4v2, el de vlc y el packman, las versiones en cada uno de ellos es diferente.

La versión instalada procede del repositorio del packman libmp4v2 (version 1.5.0.1-10.pm.0) .
la desinstalamos como root y con el comando
zypper rm libmp4v2

Procedemos a instalar la versión del repositorio de VLC con:
zypper in libmp4v2-0

Realizando estos pasos deberiamo poder visualizar correctamente los archivos avi en el reproductor VLC

Init: cambiar el runlevel inicial

En Opensuse 10.3 podemos cambiar el runlevel por defecto (que suele ser 5) a cualquier otro. Para ello:
1) editaremos el fichero /etc/inittab.
2) El runlevel por defecto viene definido en una linea como esta:
id:5:initdefault


En lugar del 5 pondremos el runlevel que deseemos:
runlevel 0: System halt
runlevel 1: Single user mode
runlevel 2: Local multiuser sin red
runlevel 3: full multiuser con red
runlevel 4: no se usa
runlevel 5: full multiuser con red y xdm (entorno gráfico)
runlevel 6: system reboot


Los runlevels habituales son el 5 con el que se carga el entorno grafico y el 3.

Procedimiento para dar permisos a un usuario sobre un conjunto de tablas

El objetivo es realizar un procedimiento que reciba como argumento un usuario, y cuya función sea dar permisos de lectura a todas nuestras tablas, salvo aquellas por ejemplo que comiencen por TMP.
Es posible añadir condiciones adcionales para filtrar las tablas a las que queremos dar permisos, de modo que sólo tablas con un nombre determinado sean las que tengan permisos de lectura.

Para ello usamos un CURSOR y lo recorremos mediante un blucle.

create or replace
PROCEDURE permisos( USER IN VARCHAR2) AS
CURSOR tablas IS
select table_name from user_tables where table_name not like 'TMP%'
table_name VARCHAR2(255);

BEGIN
OPEN tablas;
FETCH tablas INTO table_name;
WHILE tablas%found
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON ' || table_name || ' TO "' || USER || '"';
FETCH tablas INTO table_name;
END LOOP;
CLOSE tablas;
COMMIT;

END;

De esta forma y con tan solo llamar a una función podemos automatizar el otorgar privilegios a otros usuarios.

Sqldeveloper : ver esquemas de otros usuarios

Para poder ver el esquema de otro usuario podemos realizar lo siguiente:

1) Primero debemos tener permisos para acceder a las tablas/objetos del otro esquema , al menos un select. Esto nos lo tiene que dar el dueño de la tabla:

GRANT SELECT ON "esquemaalqueacceder"."nombretabla" TO "usuarionuevo"
ej: GRANT SELECT on unuser.tabla1 to usuarionuevo

ahora podemos acceder al esquema de otro usuario con la siguiente sintaxis:

select * from unuser.tabla1

Para acceder a la tabla siempre hay que precederla del nombre del esquema

2)Si tenemos el permiso de sistema "CREATE SYNONYM" podemos crear un sinónimo para evitar tener que escribir el nombre del esquema. O bien si tenemos consultas ya creadas, evitaremos tener que reescribirlas y añadirles el nombre del esquema. Creamos el sinónimo con el mismo nombre de la tabla:

CREATE OR REPLACE SYNONYM tabla1 FOR unuser.tabla1

ahora podemos realizar sin errores la consulta: select * from tabla1

3)Para ver las tablas que tenemos accesibles desde SQLDeveloper miramos lo siguiente:
a) pestaña/ventana de connection
b) nos conectamos
c) Veremos dentro del árbol: Tables, view, indexes .... y seleccionamos "Other Users". El icono es una carpeta con un muñeco de color rojo.
d) Dentro de "Other Users" buscamos el usuario (en el ejemplo unuser). Desplegamos el contenido y veremos todo lo que tenemos accesible

Configurar VNC en linux: vncserver

En el servidor, es decir a la máquina a la que vamos a acceder:
1) instalamos el vnc server por ejemplo el tightvnc a través de yast o desde linea de comandos con:
zypper in tightvnc

2) establecemos la contraseña para el vnc mediante el comando:
vncpasswd

3) Lanzamos el servidor vnc para que se ejecute por ejemplo con la pantalla uno:
vncserver :1

4) Nos aseguramos que en el cortafuegos esten los puertos del vnc abiertos, habitualmente el 5901 para la pantalla1, 5902 para la 2 ...

En el cliente, la maquina con la que nos conectaremos usamos el siguiente comando para conectar a la pantalla 1
vncviewer maquinaremota:1


Si queremos matar el vncserver en el servidor usaremos el comando
vncserver -kill :1 .

para matar el vncserver que escucha en la patalla :1.