Notas sobre o Debian 9 Strech con XFCE

Liña horizontal na pantalla

Resulta que me apareceu unha liña horizontal de lado a lado da pantalla na parte inferior a uns 4 centímetros do bordo.

No meu caso esta liña desaparece ó pechar o cairo-dock. A solución atopeina aquí. Dita solución consiste en abrir os Axustes do xestor de xanelas (Window Manager Tweaks) e na lapela Compositor, desactivar a opción Amosar sombras detrás das xanelas acoplables (Show shadows under dock windows).

Unha vez feito isto a liña desaparece.


O libreoffice writer non abre (só na versión 32 bits)

Parece que é un fallo da versión de 32 bits. No meu caso a solución indicada aquí funcionou.

Bastou con desinstalar estes dous paquetes:

apt-get remove --purge libreoffice-wiki-publisher
apt-get remove --purge libreoffice-nlpsolver

WARNING **: Error converting text from IM to UTF-8: Invalid byte sequence in conversion input

Este erro dóuseme nos aplicativos desenvolvidos con wxpython, para solucionar isto desde a consola executei:

$ im-config

Inicialmente saen unha notas, Aceptei, logo un aviso de se quero empregar unha personalización, premo en Si, e logo elixo a opción «none».

Finalmente para que teña efecto saio da sesión e entro novamente.


Repositorios

Repositorio de Deb-Multimedia

Engadir o repositorio a traveso da consola:

echo deb http://www.deb-multimedia.org stretch main non-free | sudo tee /etc/apt/sources.list.d/deb-multimedia.list

Obter a chave de seguridade do repositorio:

sudo apt-key adv --keyserver keys.gnupg.net --recv-key 65558117

Para eliminar o repositorio:

sudo rm /etc/apt/sources.list.d/deb-multimedia.list

Repositorio de Deb-Multimedia (Backports)

Engadir o repositorio a traveso da consola:

echo deb http://www.deb-multimedia.org stretch-backports main | sudo tee /etc/apt/sources.list.d/debmultimedia-backports.list

Obter a chave de seguridade do repositorio:

sudo apt-key adv --keyserver keys.gnupg.net --recv-key 65558117

Para eliminar o repositorio:

sudo rm /etc/apt/sources.list.d/debmultimedia-backports.list

VirtualBox

Engadir o repositorio a traveso da consola:

echo deb http://download.virtualbox.org/virtualbox/debian stretch contrib | sudo tee /etc/apt/sources.list.d/virtualbox.list

Obter a chave de seguridade do repositorio:

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

Para eliminar o repositorio:

sudo rm /etc/apt/sources.list.d/virtualbox.list

Para instalalo:

sudo apt-get update
sudo apt-get install virtualbox-5.1
sudo apt-get install dkms

Fontes: linuxdufs - gist

Mudar orde de arranque no GRUB

Parece que hai varios xeitos, o máis popular empregando o «Grub Customizer», podendo evitalo prefiro non instalar un aplicativo para usalo unha vez ou de moi en canto en vez. Amais, neste caso dito aplicativo non está nos repositorios da distro cousa que non me mola.

Unha solución sinxela é recorrer ó terminal, para elo:

sudo nano /etc/default/grub

Aí mudei a liña

GRUB_DEFAULT=0

por

GRUB_DEFAULT=5

(Xa que quero que arranque o Debian).

Para saber que teño que poñer un 5 a operación é esta, tendo en conta que cando sae o arranque aparece:

0 - Ubuntu
1 - Opcións avanzadas de Ubuntu
2 - Memory Test...
3 - Memory Test...serial console...
4 - Debian...

Finalmente para que o grub collese os cambios, executei:

sudo update-grub

warning: implicit declaration of function 'g_sprintf'

Compilando o xfce4-timer-plugin (v 1.6.0), xurdeume este erro. A solución foi engadir esta liña ó principio do documento, debaixo da liña #include

#include <gtk/gtk.h>
// Engádese a liña de abaixo
#include <glib/gprintf.h>  // for gcc's warning: implicit declaration of function 'g_sprintf'

Instalación de dmenu no Debian 9 Strech

Hai anos cando instalei por primeira vez o xa desaparecido CrunchBang (distro linux) coñecín este marabilloso aplicativo. Logo seguín usándoo con BunsenLabs que foi un dos proxectos sucesores de CurnchBang, e de este é de onde saquei esta configuración.

Deixo aquí como instalalo no Debian 9 Strech, seguramente tamén serva para ubuntu.

O primeiro é instalar o motor, o aplicativo en si, para elo hai que executar na consola:

$ sudo apt-get install suckless-tools

Con isto xa está instalado, de seguido comento como eu o configuro.

Se non se instalase (coa instalación do suckless-tools), creo un ficheiro chamado dmenu_path:

$ sudo nano /usr/bin/dmenu_path

e insiro dentro del o seguinte:

#!/bin/sh
cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"}
if [ -d "$cachedir" ]; then
	cache=$cachedir/dmenu_run
else
	cache=$HOME/.dmenu_cache # if no xdg dir, fall back to dotfile in ~
fi
IFS=:
if stest -dqr -n "$cache" $PATH; then
	stest -flx $PATH | sort -u | tee "$cache"
else
	cat "$cache"
fi

Logo, se non se instalase (coa instalación do suckless-tools), creo o ficheiro dmenu_run:

$ sudo nano /usr/bin/dmenu_run

E poño dentro:

#!/bin/sh
dmenu_path | dmenu "$@" | ${SHELL:-"/bin/sh"} &

Logo establézolle os permisos:

$ sudo chmod u=rwx,g=rx,o=rx /usr/bin/dmenu_path
$ sudo chmod u=rwx,g=rx,o=rx /usr/bin/dmenu_run
Agora creo o ficheiro que vai lanzar todo no cartafol do meu usuario:
$ nano ~/.config/dmenu/dmenu-bind.sh

E nel poño:

#!/bin/bash
#
# written for BunsenLabs by damo  May 2015
#
# -nb    normal background colour
# -nf    normal foreground colour
# -sb    selected background colour
# -sf    selected foreground colour
#
# -b    place menu at bottom (otherwise top)
#
# See 'man dmenu' for more information.

USAGE="\n  To start dmenu at the top or bottom of the screen,\n\
  add or remove -b in the dmenu_run command in dmenu-bind.sh.\n\
  -b     locate at bottom\n\n\
  To change colours, edit the options:\n\n\
  -nb    normal background colour\n\
  -nf    normal foreground colour\n\
  -sb    selected background colour\n\
  -sf    selected foreground colour\n\n\
  Get all configuration options with 'man dmenu'.\n"

if [[ $# = 1 ]]; then
    case $1 in
        -h|--help   ) echo -e "$USAGE"
        exit 0;;
        *           ) echo -e "\n  Invalid command argument\n"
        exit 1;;
    esac
fi

dmenu_run -b -i -nb '#151617' -nf '#d8d8d8' -sb '#d8d8d8' -sf '#151617'

E doulle permiso de execución:

$ sudo chmod u+x ~/.config/dmenu/dmenu-bind.sh

Finalmente creo un atallo de teclado:

$ xfce4-keyboard-settings

E no meu caso a min gústame que sexa Alt+F3, aí poño como orde:

/home/usuario/.config/dmenu/dmenu-bind.sh

Desmarco a opción «Usar notificación de inicio».

Fonte: BunsenLabs

Compartir cargafol Debian 9 Strech con VirtualBox

Cousas que facer despois de instalar o Debian 9 Strech

Compartir cargafol con VirtualBox

No caso de facer unha instalación con VirtualBox, unha vez instaladas as VB Guest Additions no convidado (Debian 9 Strech), compartín un cartafol, reiniciei e ó tentar abrilo indicábame «Permiso denegado». Para solucionalo bastou con engadir o meu usuario ó grupo «vboxsf»:

# adduser damufo vboxsf

Darlle permiso sudo ó usuario principal

Para elo desde a consola basta con identificarse como root e logo executar:

# usermod -aG sudo 

Logo hase de reiniciar o sistema.

Instalación do VirtualBox Guest Additions no debian 9 Strech

Estes días instalei a RC3 do Debian 9 Strech nunha máquina virtual do VirtualBox.

Quixen instalar os engadidos para o sistema hóspede, pero desde o menú xeral a imaxe VBoxGuestAdditions.iso non se montaba nin se instalaba.

A solución foi pasala manualmente ó sistema hóspede e instalar manualmente.

A ruta da imaxe é /usr/share/virtualbox/VBoxGuestAdditions.iso, para pasala empreguei o fireftp a traveso da conexión sftp. Copieina no cartafol do usuario principal.

Unha vez pasada creei un cartafol en media chamado VBGuestAD:

# mkdir /media/VBGuestAD

Monteina:

# mount -o loop /home/usuario/VBoxGuestAdditions.iso /media/VBGuestAD/

Entrei no cartafol motado:

# cd /media/VBGuestAD/

Executei o instalador:

# ./VBoxLinuxAdditions.run

Fallou, instalei dkms (no hóspede).

# apt-get install dkms

E xa instalou. Logo reiniciei.


Actualización:

Por razóns de espazo asignado ó disco duro, tiven que reinstalar. Desta vez empreguei un segundo xeito que resulta moito máis sinxelo.

O caso é que o cd coas VirtualBoxGuestAdditions é montado pero non deixa instalalas desde o cdrom. A solución que probei e funcionou foi, creei un cartafol no cartafol do meu usuario chamado VBGuestAD:

$ mkdir /home/usuario/VBGuestAD

Logo copiei o do cd ó cartafol:

$ cp -rf /media/cdrom0/* /home/usuario/VBGuestAD/

Finalmente executei o instalador:

$ sudo ./VBoxLinuxAdditions.run

Instalación do certificado Let's Encrypt para o sitio web

Deixo aquí unhas notas de como instalar un certificado de servidor seguro de Let's Encrypt á meu sitio web. Let's Encrypt fornece certificados para os nosos servidores de balde (gratis).

Inicialmente probei o instalador certbot mais non me foi ben, non acababa de verificar o sitio. Logo vendo algún foro de web2py vin que recomendaba o uso de acme que foi o que finalmente empreguei para obter o certificado do sitio web.

Preparación do cartafol para verificar que o sitio é meu

O primeiro que tiven que facer foi crear un cartafol para que Let's Encrypt puidese verificar que o dominio é meu. Normalmente sería indicar o cartafol raíz do sitio web, por exemplo «/var/www/», no meu caso ó usar web2py, a solución pasa por crear un alias no sitio na configuración do apache, no meu caso foi engadir dentro do virtualhost o seguinte alias tal como indican na guía de acme:

Para apache 2.4 en diante:

Alias "/.well-known/acme-challenge/" "/home/www-data/lets_encrypt/"

  AllowOverride None
  Options None
  Require all granted

Para apache 2.2 e anteriores:

Alias "/.well-known/acme-challenge/" "/home/www-data/lets_encrypt/"

  AllowOverride None
  Options None
  # Order allow, deny  OLLO! no meu caso tiven que comentar esta liña
  Allow from all

Instalación de acme

Para elo seguín as instrucións indicadas na guía:

# echo 'deb http://ppa.launchpad.net/hlandau/rhea/ubuntu xenial main' > \
 /etc/apt/sources.list.d/rhea.list
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys \
9862409EF124EC763B84972FF5AC9651EDB58DFA
# apt-get update
# apt-get install acmetool

Unha vez instalado executei a orde:

# acmetool quickstart
  • Tipo de certificado que queremos: opción 1, live
  • Como imos verificar o sitio: opción 1, WEBROOT
  • Indico a ruta que indiquei no alias (na configuración do apache): /home/www-data/lets_encrypt/

Con isto queda o sitio verificado, o seguinte paso é a solicitude dos certificados, para elo empregase a orde:

# acmetool want www.damufo.com

Se quixese tamén o certificado para o sitio sen as www empregaría a orde:

# acmetool want damufo.com www.damufo.com

Os certificados obtidos son gardados en «/var/lib/acme/live/www.damufo.com/».

Para ver o estado dos certificados solicitados, emprégase a orde:
# acmetool status

Finalmente queda engadir os certificados ó virtualhost seguro do apache (o do porto 443), para elo engádese dentro das etiquetas de dito virtualhost o seguinte:

SSLEngine on  # Isto en teoría xa debería estar
SSLCertificateFile    /var/lib/acme/live/www.damufo.com/cert
SSLCertificateKeyFile /var/lib/acme/live/www.damufo.com/privkey
SSLCertificateChainFile /var/lib/acme/live/www.damufo.com/fullchain

Deixo aquí esta ligazón sobre a configuración do SSL do apache que fornece Mozilla por se é de interese.

Finalmente queda comprobar que a sintaxe do ficheiro apache está ben, para elo empregase a orde:

# apache2ctl configtest

E se todo está ben, reiniciase o apache coa orde:

# service apache2 restart

Forzar https e uso de www no Apache

Deixo aquí estas notas de como configurar o Apache para forzar ó sitio a usar https e que o emprego de www. antes no nome de dominio.

Para elo fixen uso do módulo Rewrite do Apache.

O primeiro foi engadir dentro de as liñas:

 RewriteEngine on
# Forzar o emprego de https
  RewriteCond %{HTTPS} off
  RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301]

Con isto, o tráfico é redirixido do porto 80 ó 443 que é o que emprega a conexión segura https.

Logo, queda forzar ó emprego de «www.» no caso de non estar presente antes do nome do dominio, para elo engadín dentro de as liñas:

RewriteEngine on
  #Forzar o emprego de www.
  RewriteCond %{HTTP_HOST} ^damufo.com [NC]
  RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI}

Se, pola contra, quixese forzar ó NON emprego de «www.» antes do nome do dominio, no canto de engadir o de arriba, o que faría sería engadir:

  RewriteEngine on
  # Forzar o emprego de non-www
  # RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
  # RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]

É imporante que dentro do virtualhost estea establecido o nome do servidor, no meu caso:

ServerName damufo.com

Esquinas activas (hot corner) e xfdashboard no XFCE

Para instalar as esquinas activas no xubuntu 16.04 empreguei o aplicativo que está nos repositorios chamado brightside, para a súa instalación basta con abrir unha consola e inserir:

$ sudo apt-get install brightside

Unha vez instalado para confitguralo execútase:

$ brightside-properties

Para que se activen automaticamente ó entrar na sesión tempo que engadir a orde «brightside» no menú Configuración->Sesión e inicio->Autoarranque de aplicativos.

Xunto con insto, aproveitei e instalei o xfdashboard que ven as ser un Gnome Shell para XFCE, este fornece unha vista de todos os aplicativos abertos, facilitando alternar entre aplicativos dun xeito doado.

O xfdashboard está nos extras de Xubuntu. Para instalalo primeiro tiven que engadir os repositorios, desde a consola executei:

$ sudo add-apt-repository ppa:xubuntu-dev/extras
$ sudo apt-get update

Finalmente desinstalei o xfdashboard porque non me convencía o funcionamento:

Se quixera desinstalalo, executaría as seguintes ordes na consola:

$ sudo add-apt-repository ppa:xubuntu-dev/extras --remove
$ sudo apt-get remove xfdashboard
$ sudo apt-get autoremove

Xubuntu Extras

wxpython no Ubuntu 16.04 con python3

Para a instalación do wxPython Phoenix no Ubuntu 16.04 dentro dun contorno virtual de Python3. Para elo vasta coa simple orde:

$ pip3 install -U --pre -f https://wxpython.org/Phoenix/snapshot-builds/linux/\
gtk3/ubuntu-16.04  wxPython_Phoenix
Amosando 1 a 10 de 324