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

Devasa empregando UFW en linux Debian

Deixo aquí uns pasos de como configurar a devasa no servidor Debian.

UFW é unha interface para configurar a devasa IPTables (a cal ten unha configuración máis árida).

O obxectivo é bloquear todo agás as conexións ssh e http/https

Comezo por instalar:

$ sudo apt-get install ufw

Unha vez instalado pode verse o estado das regras coa orde:

$ sudo ufw status

Inicialmente este dará como resultado: “Status: inactive”

Antes de activalo establezo as reglas para asegurarme que sempre teño permitida a conexión ssh, do contrario podería perder o acceso ó servidor.

Comezo por denetar o tráfico de entrada e permitir o de saída:

$ ufw default deny incoming
$ ufw default allow outgoing

Abro o porto para o SSH.

$ ufw allow ssh

Ollo que se teño o ssh noutro porto distinto ó 22 mellor establecelo a man, por exemplo, supoñendo que estea no 2222, quedaría así:

$ ufw allow 2222

No caso de ter mudado o porto ssh a outro porto precisarei eliminar a regra que permitía o acceso ó porto 22 (predeterminado do ssh):

$ sudo ufw delete allow ssh

Abro o porto para o servidor web:

$ ufw allow www

Abro o porto para o servidor web seguro (https):

$ ufw allow 443/tcp

No caso de ter correo podería abrir seu porto así:

$ ufw allow 25/tcp

No caso de ter MySQL, sería:

$ ufw allow 3306/tcp

Abro o porto para o protocolo ntpd:

$ ufw allow ntp

Finalmente activo a devasa:

$ ufw enable

Para ver como quedou executo:

$ ufw status verbose

O normal é que se configure automáticamente para arrarcar ó inicio, pero non está de máis asegurarse, para elo hai que acceder ó ficheiro /etc/ufw/ufw.conf e ver que a opción ENABLED está establecida a «yes» (ENABLED=yes).

Fontes: programarivm, critiantata, websecurity

Configurar Módem Huawei Mobile Broadband E173s 3G

Vou deixar aquí unhas instrucións de como configurei o módem USB no Ubuntu 16.04 e supoño que tamén debería valer para o Debian.

Conectei o dispositivo USB.

Abrín unha consola, tecleei lsusb

$ lsusb

btendo un resultado como este, como pode verse pon «modem off»

Bus 001 Device 008: ID 12d1:1c0b Huawei Technologies Co., Ltd. E173s 3G broadband stick (modem off)

Creei un ficheiro chamado 12d1:1c0b en /etc/usb_modeswitch.d/:

$ sudo nano /etc/usb_modeswitch.d/12d1:1c0b

Pegueille o seguinte contido:

########################################################
# Huawei E173s

DefaultVendor= 0x12d1
DefaultProduct= 0x1c0b

TargetVendor= 0x12d1
TargetProduct= 0x1c0b

CheckSuccess=20

MessageEndpoint= 0x0f
MessageContent= "55534243123456780000000000000011062000000100000000000000000000"

Abrín o ficheiro /lib/udev/rules.d/40-usb_modeswitch.rules

$ sudo nano /lib/udev/rules.d/40-usb_modeswitch.rules

Engadinlle a seguintes liñas:

# Huawei E173s
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1c0b", RUN+="/usr/sbin/usb_modeswitch -c /etc/usb_modeswitch.d/12d1:1c0b"

Abrín o ficheiro /etc/modules

$ sudo nano /etc/modules

Engadín estas liñas:

# manual override for Huawei E173s to work
usbserial vendor=0x12d1 product=0x1c0b

Desconectei o módem USB e volvino conectar, logo na consola tecleei lsusb:

$ lsusb
Agora o módem apareceu deste xeito, desapareceu o «modem off»:
Bus 001 Device 007: ID 12d1:1c08 Huawei Technologies Co., Ltd.

Unha vez feito o anterior xa apareceu o menú onde solicita o PIN, logo configurei a conexión de banda larga no me u caso .

Número: *99#
Usuario: ORANGE
Clave: ORANGE
APN: internet
PIN: (o meu pin)

O resto deixeino con valores predeterminados.

Fonte: askubuntu.com

Amosando 1 a 10 de 322