Instalar y adaptar FreeBSD con entorno gráfico Gnome

Aprenderemos a instalar y a adaptar FreeeBSD  como máquina de escritorio completa con entorno gráfico Gnome. En estos momentos instala la versión 42.4 de Gnome que es un poco antigua. Aún hay detalles de este entorno que cuestan un poco de adaptar y instalar, pero con el tiempo se  irá solucionado, de todas formas aquí los hemos solucionando y puede utilizarse con normalidad.

No es conveniente utilizar ésta magnífica distribución Unix sin tener un mínimo de experiencia con las órdenes básicas desde terminal. No explicamos como se ha de instalar la base del sistema porque hay mucha información al respecto y es un proceso  rápido y sencillo. Partiremos del sistema base ya instalado pero sin entorno gráfico. Por si no se tiene ni idea del proceso, os recomendamos ver  ejemplos de instalación de la base del sistema muy precisos en las siguientes webs, aunque hay muchas más:

 
 
(Como siempre, agradecer y dar las gracias a las personas, que de forma desinteresada, ponen sus conocimientos en las redes  para que todos nosotros podamos utilizarlos).
 
Podéis bajar esta distribución de la web oficial:
 
 

Instalación de XORG


Partiendo del sistema base ya instalado, continuaremos con la instalación del entorno gráfico Gnome.

En un principio también es conveniente trabajar con la tarjeta gráfica integrada en la placa base,  ya que los actuales procesadores Intel  y AMD dan un funcionamiento correcto, sin problemas de configuración con los Drivers gráficos libres y con muy buena aceleración gráfica. 
 
Al final ya indicamos como instalar las tarjetas gráficas Nvidia o ATI. Hecho que no siempre es inmediato y, según que tarjeta, pude tener problemas ya que depende del soporte.

Instalamos la base del sistema gráfico xorg y drm-kmod además instalamos el editor de texto en terminal nano que nos permitirá adaptar fácilmente los ficheros de configuración.

      # pkg install xorg nano drm-kmod 
 
 - xorg, soporte gráfico básico.
 - drm-kdmod, soporte de módulos para gráficas integradas intel y radeon, si no es así en el ordenador no instalar.
 - nano, editor gráfico de consola para escribir con comodidad los ficheros de configuración.
 
 
En el fichero /etc/rc.conf los activaremos:

      # nano   /etc/rc.conf
           hald_enable="YES"
           dbus_enable="YES"
# En caso de gráfica integrada  intel poner la siguiente línea y no la posterior.
           kld_list="i915kms"
# En caso de gráfica integrada radeon poner la siguiente línea y no la anterior.
          kld_list="radeonkms"
 
Reiniciar el sistema y después probar el entorno gráfico con la orden:

  
   #  startx
 
Para comprobar que funciona el entorno gráfico, que será lo normal, con la resolución de pantalla correcta, teclear startx y aparecerán tres ventanas shell de color verde con fondo blanco, como podéis ver en la imagen. Para volver al sistema y poder continuar con la instalación teclear "exit" desde el terminal y el sistema saldrá del entorno gráfico inicial. 
 
 

 

Instalación del entorno gráfico Gnome y herramientas iniciales
 
Ahora se instalará el entorno gráfico Gnome y luego ya podremos continuar  bajo entorno gráfico  con la instalación y configuración del resto de  programas, este sistema facilita mucho el trabajo, ya que  se puede continuar  con entorno gráfico mientras se consultan webs
 
Para empezar no es necesario instalar ningún navegador Gnome nos pone el suyo (WebKitGTK) y de momento es mas que suficiente; por tanto, instalamos lo siguiente:
 
 # pkg install gnome gdm sudo
 
Activamos  gnome y la pantalla gdm en el fichero /etc/rc.conf.
 
  # nano /etc/rc.conf
 
gnome_enable="YES"
gdm_enable="YES"

Activamos sudo:
 
 #  nano /usr/local/etc/sudoers
 
Y agregamos la siguiente línea:
 
Nuestro_usuario  ALL=(ALL:ALL) ALL

Salimos del usuario root y entramos a nuestro usuario de trabajo normal definido en la instalación. Creamos el archivo en /home/NUESTRO_USURIO/.xinitrc con el siguiente contenido:

  $ nano .xinitrc

 exec ck-launch-session dbus-launch 
 
Reiniciamos el sistema.

 
Ahora ya continuamos trabajando con entorno gráfico
 
Accederemos al entorno gráfico habitual de Gnome por defecto en ingles. Como tenemos el terminal con sudo, podremos continuar instalando los programas habituales y a la vez configurando el sistema de forma cómoda, segura y con la posibilidad de consultar las webs necesarias, además podréis copiar y pegar las indicaciones que iremos dando aquí y acabaréis en muy poco tiempo.
 
Herramientas Útiles

Vamos a instalar diversas herramientas de utilidad
 
$ sudo su
contraseña:  la que corresponda
 
Continuamos con la instalación de herramientas útiles:
 
#  pkg install dmidecode smartmontools hwstat lscpu curl perl5 

Luego las fuentes básicas para que el sistema se vea todo correctamente, sobretodo no puede faltar urwfonts:

 # pkg install urwfonts webfonts comfortaa-ttf gnu-unifont gofont-ttf inconsolata-ttf liberation-fonts-ttf sourcecodepro-ttf  

Instalación de java

 
Escribimos en el fichero /etc/sysctl.conf lo siguiente: 

    # nano /etc/sysctl.conf

         kern.ipc.shm_allow_removed=1
 
Instalamos los siguientes programas: 

    # pkg install icedtea-web openjdk8-jre
 

 
No hace falta recordar que flash ya no es necesario, aunque aún quedan webs antiguas que lo utilizan.

Instalación de Cups (controladores de impresoras)

 
   # pkg install cups foomatic-filters hplip

- hplip, solo en el caso de tener esta marca de impresoras multifunción.
 
Activamos en el fichero /etc/rc.conf cups:
 
   # nano /etc/rc.conf
       lpd_enable="NO"
       cupsd_enable="YES"

Agregamos los usuarios root y NUESTRO_USUARIO, al usuario cups:

   # pw usermod root -G cups
   # pw usermod NUESTRO_USUARIO -G cups


Herramientas de sistema

 
# pkg install usbutils pciutils   hw-probe py39-WebFlash gpart
 

De esta forma os funcionarán las órdenes siguientes en la consola.
 

- usbutils,  pciutils y hw-prove, son herramientas de sistema que permiten utilizar por ejemplo:
 
  # lsusb
  # lspci
  # pciconf -lv 
  # hw-probe -all -upload
  # pciconf -lv 
  # gpart show
 
Suporte para montar archivos, particiones, móviles y dispositivos USB
 
 
Para que funcionen correctamente las memorias USB y el resto de dispositivos, es necesario instalar programas para poder acceder a los diferentes formatos (fat, ntfs, ext, etc):

Para que monte los dispositivos externos de forma automática instalamos esta nueva herramienta de freebsd:

# pkg install automount
 
# service devd restart
 
Dispone de fuse que permite montar archivos ntfs, ext4, formato de móviles, instalando los programas siguientes:

# pkg install fuse fuse-utils fusefs-ntfs fusefs-ext2 fusefs-lkl e2fsprogs
# pkg install sysutils/bsdisks
# pkg install bsdisks
 
Copiamos el fichero  automount.conf.sample a automount.conf para hacerlo activo y así el usuario tendrá los permisos de montar ficheros.

# cp /usr/local/etc/automount.conf.sample /usr/local/etc/automount.conf
 
# nano /usr/local/etc/automount.conf
 
USERUMOUNT=YES
 
Si aún no lo habéis puesto antes, se escribe lo siguiente en el archivo /etc/fstab:

   # nano /etc/fstab
 
 proc /proc procfs rw 0 0
 fdesc /dev/fd fdescfs rw 0 0
 
Y en el fichero /etc/sysctl.conf lo siguiente:

   # nano /etc/sysctl.conf
 
       vfs.usermount=1
 
Con la instrucción anterior los usuarios podrán montar discos de forma permanente.

Desde terminal efectuamos las siguientes órdenes para agregar nuestro usuario a los grupos wheel y operator:

   # pw usermod NUESTRO_USUARIO -G wheel
   # pw usermod NUESTRO_USUARIO -G operator
 
Estas dos órdenes anteriores lo que hacen es modificar el fichero /etc/group añadiendo nuestro_usuario a los grupos whell y operator. esto también se puede hacer editando el fichero de la forma: # nano /etc/group y añadiendo nuestro usuario a whell y operator.


   # kldload fuse.ko  
 
Ahora Añadamos los permisos que debe tener el sistema con los dos ficheros de texto y los medios extraíbles /etc/devfs.conf :

    # nano /etc/devfs.conf

perm devstat 0444
own  /dev/acd0 root:operator
perm /dev/acd0 0666
perm /dev/acd1 0666
own  /dev/cd0 root:operator #usuarios root y operator pueden montar cd0
perm /dev/cd0 0660
own  /dev/cd1 root:operator
perm /dev/cd1 0660
perm /dev/da0 0666
perm /dev/da1 0666
perm /dev/da2 0666
perm /dev/da3 0666
perm /dev/da4 0666
perm /dev/da5 0666
own  /dev/pass0 root:operator
perm /dev/pass0 0666
own  /dev/xpt0 root:operator
perm /dev/xpt0 0666
perm /dev/uscanner0 0666
perm /dev/video0 0666
perm /dev/tuner0 0666
perm /dev/dvb/adapter0/demux0 0666
perm /dev/dvb/adapter0/dvr 0666
perm /dev/dvb/adapter0/frontend0 0666

Creamos el fichero /etc/devfs.rules, pues no existe, éste es un complemento al archivo de configuración del sistema /etc/defaults/devfs.rules. Lo haremos con el siguiente contenido:
 

   # nano /etc/devfs.rules

 [devfsrules_common=5] 
 
add path 'ad[0-9]\*'        mode 666
add path 'ada[0-9]\*'    mode 666  group operator
add path 'da[0-9]\*'        mode 666
add path 'acd[0-9]\*'    mode 666
add path 'cd[0-9]\*'        mode 666
add path 'mmcsd[0-9]\*'    mode 666
add path 'pass[0-9]\*'    mode 666
add path 'xpt[0-9]\*'    mode 666
add path 'ugen[0-9]\*'    mode 666
add path 'usbctl'        mode 666
add path 'usb/\*'        mode 666 group operator
add path 'lpt[0-9]\*'    mode 666
add path 'ulpt[0-9]\*'    mode 666
add path 'unlpt[0-9]\*'    mode 666
add path 'fd[0-9]\*'        mode 666
add path 'uscan[0-9]\*'    mode 666
add path 'video[0-9]\*'    mode 666
add path 'tuner[0-9]*'  mode 666
add path 'dvb/\*'        mode 666

En  [devfsrules_como=5], el 5 es la prioridad.
 
Añadimos al fichero /etc/rc.conf lo siguiente para activarlos:

   # nano /etc/rc.conf
     
    devfs_system_ruleset="devfsrules_common"
   
 
 
Se ha observado algún problemas al cargar un USB. El proceso gvfs-udi satura la CPU del sistema, suponemos que se trata de un bugg que pronto se solucionará.

Cambio de lenguaje
 
Ahora pondremos el lenguaje de gnome en español (es_ES), no es problema utilizar otros lenguajes  solo deben cambiarse abreviaturas o siglas correspondientes. 
 
Se pueden comprobar las lenguas posibles con la orden siguiente y escoger la que nos corresponde:
 
# locale -a | grep UTF-8

 
Primero escogemos y configuramos el teclado que es de 105 teclas: 

# nano /usr/local/etc/X11/xorg.conf.d/10-keyboard.conf
 
 
Section "InputClass"
        Identifier "Keyboard0"
        MatchIsKeyboard "on"
        Option "XkbModel" "pc105"
        Option "XkbLayout" "es"
        Option "xkb_rules" "evdev"
    Option "XkbVariant" "oss"
    Option "XkbOptions" "terminate:ctrl_alt_bksp,ctrl:nocaps"
EndSection
 
 
Luego configuramos el sistema para que pueda escoger el español (es_ES) en el programa de configuración de Gnome:

# nano /usr/local/etc/gdm/locale.conf

 
LANG="es_ES.UTF-8"
LC_CTYPE="es_ES.UTF-8"
LC_MESSAGES="es_ES.UTF-8"


Ahora reiniciamos el sistema y en principio todo estará correcto. Debemos comprobar que Gnome lo haya dejado correctamente, para ello vamos a la configuración del sistema y debe quedar de la forma siguiente:

1.- observar la versión de Gnome que utilizamos:


2.- el teclado tiene que estar de la forma siguiente:




3.- el lenguaje tiene que quedar de la forma siguiente:



NOTA. En configuración debe vigilarse no acceder a la sección o apartado  color, pues el programa de configuración deja de funcionar, es claramente un bug que se solucionará, ya iremos informando. Si se ha accedido a color y os ha pasado, la única solución es borrar los programas ocultos de configuración del usuario (home/nombre_usuario) de gnome, luego cuando se reinicia el sistema se generaran de nuevo y se tendrá que volver a hacer toda la configuración personal.

Instalación del resto de aplicaciones del sistema
 
Con la siguiente orden ya instalaremos en el sistema  los programas  habituales para trabajar suficientemente bien como máquina de escritorio. Después, poco a poco, ya podréis instalar aquellos que sean de vuestra preferencia o necesidad.
 

 # pkg install vlc es-libreoffice es-hunspell rar unrar peazip-gtk2 gimp inkscape firefox gstreamer1-plugins-all chromium brasero gnome-utils gnome-calculator obs-studio openshot zsync rsync qbittorrent audio/oss pdfarranger audacity peazip-gtk2 simple-scan pinta

Todos ellos son de los más importantes:
 
- Audacity, editar música.
- Inkscape, gráficos vectoriales, absolutamente profesional.
- LibreOffice, serie completa de ofimática en español (es-libreoffice) con diccionario en es_ES (es-hunspell). Pueden agregarse otros diccionarios que serań archivos del tipo xx-hunspell.
- Gimp, mejor programa para tratar imágenes, acordaros de visitar plugins oficiales, absolutamente profesional.
- Openshot, para editar vídeos.
- Brasero, si se dispone de DVD, sino no hace falta.
- OBS-studio para realizar videos didácticos con captura de pantalla tanto video como imagen, ideal para cursos.
- Atril, es un lector habitual de pdf que utiliza esta distribución.
- Gnome-calculator, sencilla y eficiente calculadora habitual de los entornos gráficos.
- VLC, imprescindible visor de imágenes y videos que instala los conectores que necesita.
- Peazip-gtk2, programa gráfico de compresión y descompresión de archivos.
- Simple-scan, herramienta para escanear.
- Pinta, editor de dibujos sencillo para trabajos rápidos.
- Krita, editor de dibujos más completo.
- Shotwell, para gestionar nuestras imágenes.
- Firefox, navegador firefox. Si se desea se puede instalar la versión extendida (firefox-esr).

debe vigilarse con las lenguas, en principio:

- Recordar que se ha instalado firefox y, tal como habréis comprobado, al principio nos queda en Inglés, más adelante indicaremos como cambiarlo a español.


- Para tener Libreoffice en castellano hemos instalado el fichero es-libreoffice.

Para el resto de programas que se han instalado con la correcta configuración del sistema ya se abrirán en lengua española.

Herramientas diversas
 
#  pkg install  xarchiver rar unrar  epdfview

Epdfview, para ver archivos pdf
-  Xarchiver, manejar archivos  comprimidos y también (rpm, iso, etc.) sin ejecutables.
 

Instalación de las fuentes no libres (Arial, verdana, etc.)
 
Cuando se tiene que trabajar con ficheros ofimáticos creados por máquinas Windows, os faltaran las fuentes con las que han sido creados los documentos. Si no las tenéis instaladas éstos perderán la configuración y formato, ya que las medidas de las letras no son exactamente iguales.
 
No solo eso, sino que aquellos documentos que se produzcan desde Libreoffice y que deban compartirse con otras personas, deben guardarse en formato docx o rtf y no en odt para que las que solo tienen Windows y office puedan abrir vuestro documento correctamente. Como supongo sabréis office no abre este formato, supongo que es intencionado.

Actualmente, esta postura no se entiende , pues todos lo programas tienen cosas buenas y no tan buenas. Una de las cualidades que caben destacar en LibreOffice es su capacidad de comunicación transversal con otros programas.
 
 
Aunque está claro que la mejor solución es enviar siempre todos los documentos  en formato pdf para evitar cualquier manipulación.  
 
Lo haremos de la forma siguiente porque no están en los repositorios de FreeBSD, este es un método totalmente manual, que no falla nunca y que puede utilizarse en cualquier distribución:
 
 
Podemos bajar las fuentes  no libres (msttcorefonts.tgz) de los enlaces siguientes, mejor el segundo:

Ejecutar como root:

 # mkdir /usr/local/lib/X11/fonts/

 # cd /home/mi_usuario/Descargas 

  # cp msttcorefonts.tgz  /usr/local/lib/X11/fonts/

 # cd /usr/local/lib/X11/fonts/

 #  tar -zxvf msttcorefonts.tgz 


Finalmente para activarlas ejecutar:

 # fc-cache -f -v 
 
Para poner el navegador mozilla en español,  los pasos serán los siguientes:

Primero instalar el lenguaje desde la web oficial:
 

También debéis aprovechar para agregar los diccionarios que os interesen para vuestro trabajo normal desde el navegador, en nuestro caso agregamos el español y el catalán.
 
Segundo ir al desplegable -->  Editar ---> Ajustes ---> General --> Idioma y escogeremos el español en Establecer alternativas.
 
 
 


Carpetas de usuario

 
Para crear las carpetas habituales de nuestro usuario en FreeBSD debe instalarse:

 # pkg install xdg-user-dirs

Al reiniciar el sistema y se crearán las carpetas habituales y no antes, con las direcciones correspondientes en nuestro software.
 

Instalar Bluetooch
 
 Normalmente, ya estará instalado en el kernel. Para activarlo seguir los pasos siguientes:

# kldload ng_ubt
 
Os contestará que ya lo tiene.
 
kldload: can't load ng_ubt: module already loaded or in kernel

Abrimos el fichero /boot/loader.conf y lo activamos para el inicio del sistema
 
# nano /boot/loader.conf 
 
ng_ubt_load="YES"

Como debemos dejar los ficheros de configuración del sistema

Después de mirar diferentes webs se ponen a continuación los ficheros de configuración como los hemos dejado en nuestro sistema para no os falte ada, aunque ya hemos ido comentando muchos aspectos a medida que hemos instalado. También se han puesto otras opciones complementarias comentadas con el símbolo "#" para que no se activen junto con comentarios. Seguramente os pueden servir de ayuda en caso de querer IP fija, configuración por wifi, etc. En caso de IP fija deben indicarse los servidores DNS de preferencia en el fichero /etc/resolv.conf.
 
 
a.- /etc/login.conf

nano /etc/login.conf
 

En el fichero login.conf se comenta usuario russian para que no actúe y se agrega lo siguiente, de esta forma que cada usuario nuevo que se cree ya será en español correcto:

spansih|Spanish Users Accounts:\
  :charset=
UTF-8:\
  :lang=
es_ES.UTF-8:\
  :tc=default:


Vigilad la última línea no debe tener el signo " \ "


b.- El fichero de configuración   /etc/rc.conf

# nano /etc/rc.conf


hostname="NUESTRO_USUARIO"
keymap="spanish.iso.acc.kbd"
# si se quiere configuración de red por DHCP
ifconfig_re0="DHCP"

#si se quire una IP estática, pero sobretodo mirar nombre tarjeta de red con 
# ifconfig y ponerlo donde se indica con rojo
#ifconfig_re0="inet 192.168.0.100 netmask 255.255.255.0"
#defaultrouter="192.168.0.1"

sshd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
dbus_enable="YES"
hald_enable="YES"
slim_enable="YES"
# En caso de gráfica integrada  intel poner la siguiente línea y no la posterior 
kld_list="i915kms"
# En caso de gráfica integrada radeon poner la siguiente línea y no poner la anterior
kld_list="radeonkms"
lpd_enable="NO"
cupsd_enable="YES"
BATCH="yes"
snmpd_enable="YES"
snmpd_flags="-a"
snmpd_conffile="/usr/local/share/snmp/snmpd.conf /etc/snmpd.conf"
snmptrapd_enable="YES"
snmptrapd_flags="-a -p /var/run/snmptrapd.pid"
devfs_system_ruleset="devfsrules_common"
avahi_daemon_enable="YES"
avahi_dnsconfd_enable="YES"
ntpd_enable="YES"
nfs_client_enable="YES"
sddm_enable="YES"
# Activar cuando se desee activar compatibilidad con linux
#linux_enable="YES" 
webcamd_enable="YES"


c.- El fichero de configuración  /boot/loader.conf

# nano /boot/loader.conf
 
# las 8 primeras líneas son para montar otros formatos.
kern.geom.label.disk_ident.enable="1"
kern.geom.label.gptid.enable="1"
fuse_load="YES"
fusefs_load="YES"
msdosfs_iconv_load="YES"
ntfs_load="YES"
kern.ipc.shmseg=1024
kern.ipc.shmmni=1024
kern.maxproc=10000
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768
tmpfs_LOAD="YES"
#manejar unicode en medios extrahíbles
aio_load="YES"
libiconv_load="YES"
libmchain_load="YES"
cd9660_iconv_load="YES"
msdosfs_iconv_load="YES"
# A partir del 18 abril 2015 pide poner lo siguiente
tmpfs_LOAD="YES"
hw.ata.atapi_dma ="1"
kern.vty="vt"
atapicam_load = "YES"

Mmc_load = "YES"
Mmcsd_load = "YES"
Sdhci_load = "YES"
snd_driver_load="YES"
#Evita pantallas blancas y bloqueo del sistema, importante para pruebas
machdep.disable_mtrrs="1"
kld_list="i915kms"
snd_hda_load="YES"
ng_ubt_load="YES"
snd_emu10k1_load="YES"
 


d.- Fichero /etc/sysctl.conf

   # nano /etc/sysctl.conf
 
#security.bsd.see_other_uids=0
vfs.zfs.min_auto_ashift=12
kern.ipc.shm_allow_removed=1

# imprescindible para que el usuario pueda montar USB y otros formatos
vfs.usermount=1 
hw.snd.default_auto=0


e.- Fichero /etc/ fstab

# nano /etc/fstab

       fdesc /dev/fd fdescfs rw 0 0
       proc /proc procfs rw 0 0   
 
 
 
Instalamos las extensiones de gnome
 
Vamos a instalar las extensiones para adaptar nuestro entorno visual de forma más tradicional y entendemos que es mas cómodo para trabajar, aunque está claro que es opcional. Gnome posee muchas otras extensiones que se pueden instalar de esta forma.
 
Para poder disponer de las extensiones y adaptar nuestro sistema las instalamos, después según cada interés se activarán o no.
 
 
 # pkg install gnome-shell-extensions

 # pkg install gnome-shell-extension-dashtodock gnome-shell-extension-filesmenu gnome-shell-extension-dashtopanel gnome-shell-extension-trash gnome-shell-extension-coverflow gnome-shell-extension-windowoverlay-icons gnome-shell-extension-windowoverlay

Para activar dash to dock lo haremos desde la web de gnome, pués siempre es lo mejor.
 
 
 
 

 
Presionamos en configuración y lo dejamos de la forma siguiente:
 
 
 


Para facilitar el acceso es cómodo que tengamos el tradicional menú en cascada en la parte superior; por tanto, vamos a extensiones y lo activamos:



 Con lo que ya habremos activado el menú tradicional en cascada, ver imagen:



De esta forma tendremos los accesos directos fijos en la parte inferior y el menú en cascada en la parte superior, quedando el escritorio muy tradicional, que entendemos que es más cómodo para el trabajo normal.



Así acabamos la adaptación con entorno Gnome. Se ha recopilado toda la información obtenida desde diferentes webs y foros de FreeBSD y se pone toda junta para facilitar la instalación de esta distribución con este entorno gráfico. Como siempre Agradecer el enorme esfuerzo que hacen estas distribuciones, poniendo los programas y la información para que podamos utilizarlo adecuadamente según nuestra necesidad.