domingo, 16 de enero de 2022

Compiz, Emerald y Fusion-icon en Debian 11

Compiz
Compiz es un administrador y compositor de ventanas, creado por Novell en enero de 2006 junto con Xgl. La integración de ambos permite realizar efectos de composición en el manejo de ventanas, con efectos de abrir,
maximiza, rminimizar, cerrar, mover y ordenar las ventanas, también incluye varias vistas en forma de cubo o muro del espacio de trabajo, y muchos efectos mas. Los efectos se implementan como complementos que se cargan según nuestras necesidades.

Está construido sobre la extensión de composición de X y la extensión GXL_EXT_texture_from_pixmap de OpenGL. Inicialmente solo funcionaba en tarjetas gráficas que soportaban dicha aceleración gráfica usando Xgl (actualmente en desuso). Posteriormente Red Hat realizó modificaciones al servidor gráfico X. Org Server, añadiendo otra capa de complejidad a la pila gráfica y restringía las aplicaciones OpenGL a que éstas sean aceleradas por software y no por hardware. Casi todos los modelos de las tarjetas gráficas AMD (anteriormente ATI), Nvidia e Intel (esta ultima usando AIGLX), están soportadas para usar Compiz.

 



Actualmente existen dos versiones de Compiz, Compiz 0.9.0 y Compiz 0.8.0. El primero es una reescritura de Compiz en C ++ y el segundo es el desarrollo continuo de la versión C de Compiz por el proyecto Compiz Reloaded. Ambos se mantienen adecuadamente, pero mientras Ubuntu lleva y desarrolla Compiz 0.9, en Debian

la versión del paquete es:  Compiz 0.8 "Reloaded". La principal diferencia entre los dos, consiste en el numero de complementos que son compatibles, ya que la reescritura de Compiz 0.9 tuvo que excluir muchos de ellos. Popularmente Compiz 0.8 también se considera más rápido y más estable. 

NOTA: Este manual esta realizado sobre Debian testing bookworm, con kde plasma 5.23.5, frameworks 5.88, servidor gráfico X11, tarjeta gráfica nvidia. A partir de kde plasma 5.23 los desarrolladores de kde plasma han decidido quitar el cubo de escritorio y algunos efectos mas que kde plasma tenia por defecto. Aunque el cubo de escritorio sigue estando operativo en Compiz.




Instalación: Compiz, Emeral y Fusion-icon

Para poder usar Compiz y todos sus efectos, incluidos los efectos experimentales, es necesario instalar los siguientes paquetes: compiz compiz-core compiz-gnome compiz-mate compiz-plugins compiz-plugins-default compiz-plugins-experimental compiz-plugins-extra compiz-plugins-main compizconfig-settings-manager emerald emerald-themes fusion-icon


Compiz


Podemos instalar Compiz con compizconfig-settings-manager (CCSM) y la colección de complementos predeterminada simplemente instalando el paquete compiz y compiz-plugins-main. Con esto ya podemos usar Compiz, pero yo aconsejo usar el decorador de ventanas: emerald y el paquete fusion-icon para habilitar, deshabilitar, seleccionar el decorador de ventas.

Se encuentran más complementos en el paquete compiz-plugins-extra, e incluso más complementos (aunque no compatibles) se pueden encontrar en el paquete compiz-plugins-experimental


Aunque actualmente, hay configuraciones especificas para los escritorios gnome (compiz-gnome) y mate (compiz-mate), funciona perfectamente en el resto de escritorios de GNU/Linux, como: KDE Plasma, LXDE, LXQT, XFCE, etc..., simplemente reemplanzado el gestor de ventanas por defecto: gnome (metacity), kde plasma (kwin), LXQT y LXDE (OpenBox), XFCE (Xfwm4), marco, etc... por Compiz o por Emerald (personalmente prefiero Emerald)

 


 



Emerald


Emerald
es un decorador de ventanas para Compiz, con un formato que es altamente personalizable. Además incluye el paquete emerald-themes, que tiene muchos temas diferentes ya creados listos para seleccionar y usar.

 

 

 

 


 

 

 


Fusion-icon


Fusion-icon
es un paquete que añade un icono en la bandeja del sistema, que nos permite habilitar, deshabilitar y reiniciar Compiz, fácilmente, y cambiar el administrador de ventanas y / o decorador de ventanas que se utilizan actualmente. 

 

 

 



 

compiz-boxmenu
En Debian 11 y posteriores versiones, el paquete compiz-boxmenu proporciona varios menús diferentes a Compiz. Está compuesto por un demonio que almacena en caché los diferentes menús de varias fuentes, siguiendo los estándares de escritorio y una serie de clientes para solicitar al demonio un tipo específico de menú, clientes que pueden vincularse a diferentes acordes de teclas y eventos del ratón usando Compizconfig Administrador de configuración. 

 




Usar Compiz

Configuración
Antes de iniciar Compiz, es importante configurarlo, de lo contrario será imposible interactuar con él. Utilice el Administrador de opciones CompizConfig para, al menos, activar la Decoración de ventana, Mover ventana, Cambiar tamaño de ventana, Colocar complementos en ventana, selector de aplicaciones, etc. Y para realizar la configuración lo mas fácil es usar: fusion-icon


Comenzando con fusion-icon

fusion-icon es una herramienta útil para iniciar, detener y reiniciar Compiz, Para configurar tanto Compiz como Emerald. Para ello vamos al menú de inicio y buscamos fusion-icon. Al ejecutar fusion-icon nos aparece un icono en la bandeja del sistema.

 



Aunque puede iniciar Compiz ejecutando el siguiente comando en la consola:

compiz --replace

 

Ahora para configurar tanto Compiz como Emerald tenemos que hacer clic con el ratón encima de dicho icono (da igual el botón del ratón que usemos, saldrá el mismo menú).

- Settings Manager = es para configurar Compiz
- Emerald Theme Manager = es para configurar el decorador de ventanas
- Reload Window Manager = es para recargar el gestor de ventanas
- Select Window Manager = es para seleccionar el gestor de ventanas que vamos a usar.
- Compiz Options = es para configurar parte de nuestra tarjeta gráfica
- Select Window Decorator = es para seleccionar el gestor de ventanas Emerald con toda su potencia, o seleccionar GTK+ Window Decorator

 


 


 


 

 


 

Settings Manager

Aquí es donde se configura todos los efectos de compiz, como vemos tiene muchas opciones, y muchos efectos.

Aquí hay que dedicarle un tiempo para configurar los efectos y las opciones como a cada uno le guste.

 


 

 


 



Ajustes de Emerald

Aquí seleccionamos el decorador de las ventanas de Emerald, como vemos en las imagenes inferiores, tiene muchas opciones. Podemos seleccionar una de las opciones que vienen por defecto, o bien modificar una de ellas y dejarlas con los parámetros y las opciones que mas nos gusten a cada uno de nosotros.


 

 


 

 


 


 

 Capturas de pantalla con algunos de los muchos efectos

 


 


 


 


 


 


 

 


 


 




















MySQL, MariaDB y phpMyAdmin - comandos básicos

MySQL y MariaDB son software de código abierto para la gestión de base de datos que ayuda a los usuarios a almacenar, organizar y obtener datos. MariaDB esta basado en el código fuente de MySQL, por tanto los comandos son validos para ambos servidores de bases de datos.

phpMyAdmin es una herramienta gratuita escrita en lenguaje PHP, creada para administrar las bases de datos de MySQL y MariaDB usando una interfaz gráfica de usuario con formato Web, por tanto para su uso necesitamos un navegador web. phpMyAdmin admite una amplia gama de operaciones para MySQL y MariaDB. Las operaciones de uso mas frecuente (gestión de bases de datos, tablas, columnas, relaciones, índices, usuarios, permisos, etc.) se pueden realizar a través del interfaz gráfica de usuario. Para el resto de operaciones, que no cuenta con la interfaz gráfica de usuario, incluye una consola de comandos para ejecutar directamente cualquier instrucción SQL. Con lo cual phpMyAdmin es 100% funcional.


¿Cómo instalar MySQL o MariaDB en Debian?

Si no lo tienes instalado en tu servidor, se puede instalar usando la versión que existe en los repositorios oficiales de Debian. Actualmente el servidor de bases de datos que usa Debian es MariaDB y consta de dos paquetes:

mariadb-server = Es el servidor de bases de datos de mysql
mariabd-client  = Es el cliente de bases de datos de mysql
phpmyadmin     = Interfaz gráfica de usuario, basada en navegador web

Para instalar el servidor y el cliente usamos el siguiente comando:

apt install mariadb-server mariadb-client phpmyadmin


 

================================================

 

Observaciones muy importantes

Casi todos los comandos MySQL terminan en punto y coma (;), si la frase no termina en punto y coma, el comando no se ejecutará.

Dependiendo del sistema operativo que estés utilizando, tendrá que escribir los comandos en  mayúsculas o en minúsculas.
 

Mayúsculas y minúsculas en MySQL

Algo a tener en cuenta cuando trabajamos con MySQL y utilizamos diferentes sistemas operativos como Windows y Linux, es el comportamiento en cuanto al tratamiento de mayúsculas y minúsculas por MySQL es distinto.


- En Windows: las bases de datos, tablas y usuarios de mysql, NO son sensibles a mayúsculas / minúsculas por lo que dá igual como escribamos las consultas. Los nombres de las bases de datos, tablas y usuarios se guardarán en disco siempre en minúsculas independientemente de como se escriban.

- En Linux: las bases de datos, tablas y usuarios, SI son sensibles a mayúsculas y minúsculas. Los nombres de las bases de datos, tablas y usuarios se guardarán en disco tal y como se han especificado en la creación. Es decir, es sensible a mayúsculas y minúsculas.

- En MacOS: las bases de datos, tablas y usuarios se guardarán en disco tal y como se han especificado en la creación, SI es sensible a mayúsculas / minúsculas PERO a la hora de ejecutar consultas de mysql, el sistema lo convierte a minúsculas por lo que NO es sensible a mayúsculas / minúsculas.


- En este manual: Yo en este manual voy a escribir los COMANDOS de mysql en MAYÚSCULAS y los nombres de las bases de datos, tablas, nombres de usuarios o textos los escribiré en minúsculas. Usando este método es más fácil distinguir los comandos de los datos. A partir de ahora me referiré a mysql (ya que mysql y mariadb usan la misma base, y los comandos a usar son casi los mismos)

================================================


 ¿Cómo conectarse al shell de  MySQL / MariaDB? 

Una vez que haya instalado mysql en tu servidor, puede acceder al shell de mysql usando el siguiente comando en el terminal (este comando siempre lo vamos a escribir en minúsculas):

usuariodebian@debian:~$ mysql -u root -p

Un mensaje nos pedirá escribir la contraseña para el usuario root de mysql (recuerde no confundir con la contraseña del usuario root del servidor, pues aunque ambos se llaman root, uno es del sistema operativo y el otro del servidor de mysql), luego de ingresarla, podremos comenzar a construir, bases de datos, tablas y a crear usuarios en mysql.

Si el inicio de sesión es exitoso, debería ver algo similar a esto:

MariaDB  [(none)] >  

 

 

Agregar usuarios, asignar privilegios y eliminar usuarios

Para administrar usuarios de mysql, usamos los comandos sql para tal propósito:

- CREATE USER y DROP USER crear y eliminar usuarios.

- GRANT y REVOKE asignar privilegios a usuarios y eliminar privilegios a usuarios.

- SHOW GRANTS muestra los privilegios asignados a los usuarios.

 

 

 Crear usuario  CREATE USER 

CREATE USER 'root'@'%' IDENTIFIED BY '123456';

 

CREATE USER 'nuevo_usuario'@'ubicación' IDENTIFIED BY 'contraseña';

Explicación: 

 

- 'nuevo_usuario' es el nombre que le hemos dado al nuevo usuario.

- 'ubicación' hace referecia desde donde podemos conectarnos especificaremos el host del usuario como localhost, o la dirección IP del servidor. localhost es un nombre de host que significa “este equipo”, y mysql trata este nombre de host en particular de manera especial, cuando un usuario con ese host inicia sesión en mysql, intentará conectarse al servidor local utilizando un archivo de socket de Unix. Por lo tanto, localhost se utiliza normalmente cuando planea conectarse implementando SSH a su servidor o cuando está ejecutando el cliente mysql local para conectarse al servidor mysql local.
-La ubicación '%' hace referencia a cualquier equipo, ‘localhost’ al equipo local, pero también se puede especificar la dirección IP o nombre del equipo dentro de una red, entre otros.

- 'contraseña' establece un código de acceso para este usuario.

- Puede haber usuarios que se llamen igual pero que tengan distintas ubicaciones, por ejemplo: 'localhost', otro '%', otro '192.168.1.50', otro 'servidor'


Tienes que reemplazar estos valores que estan entre comillas ' ' por los tuyos.

 

MariaDB  [(none)] > CREATE USER 'root'@'%' IDENTIFIED BY '123456';  

 

 

 Eliminar usuario  DROP USER 

 

Para eliminar un usuario, usamos el comando DROP USER. Es muy importante asegurarse el nombre de usuario a borrar, a sin como su ubicación. Para no borrar un usuario por error.

 

MariaDB  [(none)] > DROP USER 'root'@'192.168.1.50';
MariaDB  [(none)] > DROP USER 'root'@'%.example.com';
MariaDB  [(none)] > DROP USER 'root'@'localhost';
MariaDB  [(none)] > DROP USER 'root'@'%';

 

 

 Asignar privilegios  GRANT 


GRANT tipo_de_permiso ON nombre_base_datos . nombre_de_la_tabla TO 'nombre_de_usuario'@'localhost';

 

GRANT ALL PRIVILEGES ON * . * TO 'nuevo_usuario'@'ubicación';

 

Para poder acceder a los objetos de una base de datos se necesitan tener privilegios (permisos).

- Los privilegios sobre objetos permiten acceder y realizar cambios en las tablas  de la base de datos. Por ejemplo, INSERT, SELECT, UPDATE y DELETE, son privilegios sobre objetos.

- Los privilegios de sistema son los que dan derecho a ejecutar un tipo de comando sql o a realizar alguna acción sobre objetos de un tipo especificado, por ejemplo, CREATE USER, ALTER, CREATE o CREATE VIEW.

- Un privilegio o permiso se otorga con el comando GRANT (conceder) una vez creado el usuario con CREATE USER

- Los asteriscos (*) en este comando se refieren a la base de datos y a la tabla respectivamente a las que el usuario puede acceder. Esto es debido a que el asterisco * es un comodín y representa todo, en este caso: todas las bases de datos y todas las tablas.


=================================================
Observación: 

 

En versiones de mysql anteriores a la versión 8.x, el comando GRANT también permitía crear a un usuario en el momento de concederle permisos.

 

GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

=================================================

 

A continuación una lista de permisos que un usuario podría tener:

- ALL PRIVILEGES: permite que un usuario acceda completamente a la base de datos designada (o si no se selecciona una base de datos en particular, el usuario tendría acceso a todo el sistema).
- CREATE: permite a los usuarios crear nuevas tablas o bases de datos.
- DROP: permite eliminar tablas o bases de datos.
- DELETE: permite eliminar filas de tablas.
- INSERT: permite insertar filas en tablas.
- SELECT: permite consultar información en bases de datos.
- UPDATE: permite actualizar filas en tablas.
- GRANT OPTION: permite otorgar o suprimir privilegios de otros usuarios, esto le daría a un usuario en concreto, todo el acceso a una base de datos designada (o si no se selecciona una base de datos en particular, a todo el sistema).
 

MariaDB  [(none)] > GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost';

 

MariaDB  [(none)] > GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;


MariaDB  [(none)] > GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost' WITH GRANT OPTION

 

 

 Eliminar privilegios  REVOKE 

 

REVOKE tipo_de_permiso] ON nombre_base_datos . nombre_de_la_tabla FROM 'nombre_usuario'@'localhost';

 

REVOKE UPDATE, DELETE ON *.* FROM 'usuario'@'ubicación';

 

Si necesitamos eliminar un permiso, la estructura es casi idéntica a la anterior:

A continuación una lista de permisos que un usuario se le puede quitar:

- ALL PRIVILEGES: permite que un usuario acceda completamente a la base de datos designada (o si no se selecciona una base de datos en particular, el usuario tendría acceso a todo el sistema).
- CREATE: permite a los usuarios crear nuevas tablas o bases de datos.
- DROP: permite eliminar tablas o bases de datos.
- DELETE: permite eliminar filas de tablas.
- INSERT: permite insertar filas en tablas.
- SELECT: permite consultar información en bases de datos.
- UPDATE: permite actualizar filas en tablas.
- GRANT OPTION: permite dar o quitar privilegios a otros usuarios, esto le daría a un usuario en concreto, todo el acceso a una base de datos designada (o si no se selecciona una base de datos en particular, a todo el sistema).


MariaDB  [(none)] > REVOKE DELETE ON *.* FROM 'diego'@'localhost';

MariaDB  [(none)] > REVOKE DROP ON *.* FROM 'diego'@'localhost';

 

 

 Ver privilegios  SHOW GRANT 


SHOW GRANTS FOR 'admin'@'localhost';

Para ver los privilegios de una cuenta, use SHOW GRANTS:

MariaDB  [(none)] > SHOW GRANTS FOR 'admin'@'localhost';
+----------------------------------------------------------------------------------+
 | Grants for admin@localhost                                                     |
+----------------------------------------------------------------------------------+
 | GRANT RELOAD, PROCESS ON *.* TO 'admin'@'localhost' |
+----------------------------------------------------------------------------------+

 


 Cambiar contraseña de usuario  ALTER USER 

 

ALTER USER 'root'@'localhost' IDENTIFIED BY 'nueva_contraseña';


SET PASSWORD FOR 'root'@'localhost' = PASSWORD ('nueva_contraseña');

o desde la consola de linux


usuariodebian@debian:~$ cd /usr/local/mysql/bin
usuariodebian@debian:~$ ./mysqladmin -u root password 'nueva_contraseña


MariaDB  [(none)] > ALTER USER 'root'@'localhost' IDENTIFIED BY 'nueva_contraseña';

MariaDB  [(none)] > SET PASSWORD FOR 'root'@'localhost' = PASSWORD ('nueva_contraseña');



 Guardar los cambios  FLUSH PRIVILEGES 

 

FLUSH PRIVILEGES;

 

Una vez que haya terminado de:

- Crear usuario
- Eliminar usuario
- Dar permisos
- Quitar permisos

Siempre asegúrese de volver a cargar todos los privilegios.

MariaDB  [(none)] > FLUSH PRIVILEGES;




 Resumen de comandos  usados 

 

usuariodebian@debian:~$ mysql -u root -p

MariaDB  [(none)] > CREATE USER 'root'@'%' IDENTIFIED BY '123456'; 

MariaDB  [(none)] > DROP USER 'root'@'localhost';

MariaDB  [(none)] > GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost' WITH GRANT OPTION;

MariaDB  [(none)] > REVOKE DELETE ON *.* FROM 'diego'@'localhost';

MariaDB  [(none)] > SHOW GRANTS FOR 'admin'@'localhost';

MariaDB  [(none)] > ALTER USER 'root'@'localhost' IDENTIFIED BY 'nueva_contraseña';

MariaDB  [(none)] > FLUSH PRIVILEGES;

 


 Vamos a realizar los mismos pasos, pero ahora desde phpMyAdmin 



 ¿Cómo conectarse a  phpMyAdmin 

 

Abrimos un navegador cualquiera, en este manual hemos usado Firefox. Y ponemos la siguiente dirección: http://localhost/phpmyadmin

 

 

Ponemos los datos de usuario y contraseña, en este manual vamos a usar el usuario: root



 Crear usuario  CREATE USER 


Ahora vamos a realizar el proceso de dar de alta un usuario desde phpmyadmin.



Después de logearnos nos aparece la siguiente ventana de información.
Pulsamos en la pestaña Cuentas de usuario



Ahora pulsamos abajo, en la opción: Agregar cuenta de usuario



Rellenamos los campos: Nombre de usuario, Nombre de host, Contraseña y Volver a escribir contraseña.



Bajamos un poco en esta página, podemos marcar las dos opciones que nos aparecen en el apartado: Base de datos para la cuenta de usuario. 

En este manual las he marcado, pero eso depende de cada caso particular.



Seguimos bajando en la página, hasta llegar al apartado: Privilegios globales


 

En este manual hemos seleccionado: Todos los permisos.




Seguimos bajando hasta llegar al apartado: SSL

En este manual no vamos a usar el certificado SSL, pero cada uno que elija lo que necesite.




Y por último pulsamos en Continuar



y observamos como se ha creado el usuario y la base de datos con el mismo nombre, ya que anteriormente lo seleccionamos.




 Cambiar contraseña de usuario  ALTER USER 

 

Para cambiar la contraseña de un usuario, tenemos que hacer clic en Editar privilegios de dicho usuario.

 


Seleccionamos Cambio de contraseña




En el apartado de contraseñas, introducimos la nueva contraseña, volvemos a escribir la nueva contraseña y por ultimo pulsamos en Continuar.




Ya podemos observar como hemos cambiado con éxito la contraseña