Instalación de Laravel 5 en Ubuntu

Instalación de Composer

$ curl -sS https://getcomposer.org/installer | php

$ sudo mv composer.phar /usr/local/bin/composer

Instalación de Laravel

$ composer global require "laravel/installer=~1.1"

Actualizar el PATH para incluir la herramienta de laravel.

$ vi ~/.bashrc

    PATH=$PATH:~/.composer/vendor/bin/

Creación de un nuevo proyecto

$ laravel new nuevo-proyecto

Verificar la versión de Laravel instalada.

$ cd nuevo-proyecto

$ php artisan -V

Ejecución del servidor web embebido para desarollo

$ php artisan serve

Acceder al proyecto desde un navegador web y el URL http://localhost:8000.

Para utilizar esta funcionalidad de artisan debe tenerse instalado mcrypt.  En caso de no contarse con esta librería seguir los pasos a continuación.

$ sudo aptitude install php5-mcrypt

$ sudo php5enmod mcrypt

Recursos

Enviar mensajes a Telegram desde línea de comando

Introducción

telegram_logoA continuación se describen los pasos necesarios para construír, configurar y utilizar la herramienta de línea de comando para enviar mensajes a través del servicio de mensajería móvil Telegram.

Para que esta aplicación pueda funcionar correctamente será necesario que previamente haya sido creado el usuario en Telegram, es decir, que el usuario haya utilizado el servicio desde un dispositivo móvil con el número telefónico que utilizará posteriormente para identificarse.

Construcción

Instalar los prerequisitos para la construcción de la aplicación de línea de comando.

$ sudo apt-get install libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev

Obtener la distribución mas reciente del código fuente de la aplicación.

$ git clone https://github.com/vysheng/tg.git && cd tg

Compilar  y enlazar la aplicación.

$ ./configure 

$ make

Instalación

Ubicar la llave pública del servicio en su ubicación por defecto.

$ sudo mkdir /etc/telegram/

$ sudo cp tg-server.pub /etc/telegram/server.pub

$ sudo chmod 644 /etc/telegram/server.pub

Ubicar el binario de la aplicación en una ruta conocida dentro del PATH.

$ sudo cp telegram /usr/bin

$ sudo chmod 755 /usr/bin/telegram

Uso

Si se siguieron los pasos establecidos anteriormente ubicando la llave pública del servicio bajo /etc/telegram.

$ telegram

De lo contrario, si se decide utilizar una ubicación diferente se deberá especficar la llave pública del servicio con el parámetro -k del comando telegram cada vez que se vaya a ejecutar.

$ telegram -k /ruta/tg-server.pub

Configuración inicial

La primera vez que se ejecuta la aplicación para un usuario específico es necesario configurarla para asociarle la cuenta de Telegram que utilizará.

telegram_firstconfig
Para esto se deben realizar los siguientes pasos.

  1. Especificar el número de teléfono móvil de la forma: +Código del País Teléfono.
  2. Especificar el código enviado por Telegram a ese número telefónico a través de SMS.

Enviar un mensaje

Listar los contactos disponibles.

> contact_list

User #XXXXXXXX: Pepito Pimenton (Pepito_Pimenton 573012345678) offline. Was online [2014/05/12 01:47:42]
...

Para enviar un mensaje se debe utilizar el comando msg con al siguiente sintáxis.

msg <peer> Text

El destinatario (o peer) corresponde con el nombre del contacto reemplazando sus espacios por guíones bajos: Pepito Pimenton -> Pepito_Pimenton.  Por ejemplo.

> msg Pepito_Pimenton "Hola Mundo"

Sugerencia!  Utilice la tecla TAB para autocompletar los comandos de telegram o los nombres de los contactos.

Comandos soportados

Messaging

  • msg <peer> Text – sends message to this peer
  • fwd <user> <msg-seqno> – forward message to user. You can see message numbers starting client with -N
  • chat_with_peer <peer> starts one on one chat session with this peer. /exit or /quit to end this mode.
  • add_contact <phone-number> <first-name> <last-name> – tries to add contact to contact-list by phone
  • rename_contact <user> <first-name> <last-name> – tries to rename contact. If you have another device it will be a fight
  • mark_read <peer> – mark read all received messages with peer

Multimedia

  • send_photo <peer> <photo-file-name> – sends photo to peer
  • send_video <peer> <video-file-name> – sends video to peer
  • send_text <peer> <text-file-name> – sends text file as plain messages
  • load_photo/load_video/load_video_thumb <msg-seqno> – loads photo/video to download dir
  • view_photo/view_video/view_video_thumb <msg-seqno> – loads photo/video to download dir and starts system default viewer

Group chat options

  • chat_info <chat> – prints info about chat
  • chat_add_user <chat> <user> – add user to chat
  • chat_del_user <chat> <user> – remove user from chat
  • rename_chat <chat> <new-name>
  • create_group_chat <user> <chat topic> – creates a groupchat with user, use
  • chat_add_user to add more users

Search

  • search <peer> pattern – searches pattern in messages with peer
  • global_search pattern – searches pattern in all messages

Secret chat

  • create_secret_chat <user> – creates secret chat with this user
  • visualize_key <secret_chat> – prints visualization of encryption key. You should compare it to your partner’s one

Stats and various info

  • user_info <user> – prints info about user
  • history <peer> [limit] – prints history (and marks it as read). Default limit = 40
  • dialog_list – prints info about your dialogs
  • contact_list – prints info about users in your contact list
  • suggested_contacts – print info about contacts, you have max common friends
  • stats – just for debugging
  • show_license – prints contents of GPLv2
  • help – prints this help

Exit the application

  • quit
  • safe_quit

Recursos

Cambiar una contraseña de Windows 7 desde Linux Ubuntu 14.04 utilizando chntpw

Introducción

A continuación se describen los pasos necesarios para modificar una contraseña de un usuario de Windows desde Linux Ubuntu, para seguirlos es necesario poder montar la partición física donde se encuentra instalado Windows desde la máquina que ejecuta el Linux.

Este procedimento es útil para recuperar el acceso de usuarios que han olvidado su contraseña (especialmente los administradores).

Instalación de chntpw

$ sudo aptitude install chntpw

Identificar el sistema operativo del usuario

En una terminal montar la partición donde se encuentra el Windows que contiene al usuario cuya contraseña se va a modificar y ubicarse en el directorio System32/config.

$ cd /windows/Windows/System32/config

Gestionar la información de la cuenta

Listar la información de las cuentas de usuario disponibles en el sistema operativo.

$ sudo chntpw -l SAM

chntpw version 0.99.6 110511 , (c) Petter N Hagen
Hive <SAM> name (from header): <SystemRootSystem32ConfigSAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c <lf>
File size 262144 [40000] bytes, containing 6 pages (+ 1 headerpage)
Used for data: 247/20352 blocks/bytes, unused: 18/4032 blocks/bytes.


* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  | dis/lock |
| 01f5 | Invitado                       |        | dis/lock |
| 03e8 | Usuario                        | ADMIN  |          |

Modificar la contraseña del usuario Usuario.

$ sudo chntpw -u Usuario SAM

Puede elegir una de las siguientes opciones a realizar sobre la contraseña.

  • Dejar la cuenta sin contraseña (1).
  • Especificar una nueva contraseña para la cuenta (2).
  • Promover al usuario a Administrador (3).
  • Desbloquear y activar la cuenta (4).

Recursos

Configuración inicial de Raspbian

Introducción

raspbianRaspbian está basado en Debian y es uno de los sistemas operativos mas utilizados por las tarjetas Raspberry Pi.

Una vez este se encuentra instalado en la tarjeta SD y la Raspberry Pi es iniciada con él, se realiza un proceso de configuración básica del sistema operativo.  Este proceso puede realizarse también en cualquier momento ejecutando el siguiente comando.

$ sudo raspi-config

QEMU_001

A continuación se describen las opciones de configuración mas comúnmente utilizadas.

Expandir el sistema de archivos

La opción Expand Filesystem permite que la partición raíz del sistema operativo tome posesión del resto del espacio libre de la tarjeta SD.  Esto será muy útil cuando se cuente con una tarjeta SD de gran tamaño para la Raspberry Pi.

Cambiar la contraseña del usuario

Por defecto, el usuario pi tiene como contraseña asignada la palabra raspberry.  Es muy recomendado por motivos de seguridad que se cambie esta contraseña lo mas pronto posible.

Tipo de inicio

QEMU_004La opción Enable Boot to Desktop/Scratch permite especificar si se desea que la carga del sistema operativo termine en una consola de texto, un escritorio gráfico o en el lenguaje de programación Scratch.

Opciones de internacionalización

QEMU_006Las Internationalisation Options permiten realizar los siguientes ajustes.

  • Localización: lenguaje y ajustes regionales.
  • Zona horaria.
  • Distribución del teclado.

En lo personal prefiero configurar mi teclado con la distribución internacional con teclas muertas, para esto se deberá seleccionar la siguiente ruta de opciones: Generic 105-key (Intl) PC > English (US) – English (US, international with dead keys).

Activar la cámara

La opción Enable Camera permite activar el acceso a la cámara de la Raspberry Pi cuando se cuenta con este periférico.

Agregar a Rastrack

La opción Add to Rastrack permite a la Raspberry Pi registrarse en el sitio de Rastrack para aparecer en el mapa mundial.

Overclocking

QEMU_015La opción de Overclock permite alterar manualmente la velocidad del procesador para obtener un mayor desempeño.  Se debe tener cuidado con esta manipulación ya que puede reducir drásticamente el tiempo de vida de la tarjeta.

Cambiar el hostname

Bajo Advanced Options está la opción Hostname que permite cambiar el nombre de la tarjeta.

Servicio de acceso remoto seguro

Bajo Advanced Options está la opción SSH que permite activar o desactivar el acceso remoto seguro a través del protocolo SSH.

Interfaz serial

Bajo Advanced Options está la opción SPI que permite activar o desactivar el acceso a la Serial Peripheral Interface (SPI).

Configuración de audio

QEMU_017
Bajo Advanced Options está la opción Audio que permite configurar el tipo de audio que se obtendrá de la tarjeta.

Actualizar esta herramienta

Bajo Advanced Options está la opción Update que permite configurar el raspi-config que se está utilizando.

Emular la Raspberry Pi con Raspbian utilizando QEMU

Introducción

raspbianEs posible ejecutar Raspbian (ARM 1176) desde un PC (x86) mediante el uso de QEMU.

La emulación no es perfecta ya que aún no incluye todos los componentes ni es muy rápida, sin embargo será útil para efectos de experimentación.

Instalación de QEMU

$ sudo aptitude install qemu-system-arm qemu-system-common qemu-utils

Verificar que se cuenta con el soporte necesario para la CPU 1176 o la 1136-r2.

$ qemu-system-arm -cpu help | grep 1176

$ qemu-system-arm -cpu help | grep 1136

Si su distribución no cuenta con el soporte necesario, es posible compilar QEMU con soporte para ARM desde fuentes.

Si se desea utilizar Windows, es posible obtener una versión reciente de la distribución binaria de QEMU.

Obtener Raspbian

Descargar la versión mas reciente disponible en el sitio web oficial.

$ wget http://downloads.raspberrypi.org/raspbian_latest

Verificar la integridad del paquete descargado comparando su hash SHA1 con el especificado en el sitio de descargas oficial.

$ sha1sum 2014-01-07-wheezy-raspbian.zip

9d0afbf932ec22e3c29d793693f58b0406bcab86  2014-01-07-wheezy-raspbian.zip

Descomprimir el paquete descargado para obtener la imagen del sistema operativo.

$ unzip 2014-01-07-wheezy-raspbian.zip

Obtener el kernel

Para poder realizar la emulación de ARM desde x86 es necesario obtener un kernel compatible.  Al parecer el kernel mas utilizado para este tipo de emulación es el construido por xecdesign.com.

$ wget http://xecdesign.com/downloads/linux-qemu/kernel-qemu

Primer boot

En este primer inicio del sistema operativo será necesario realizar algunos ajustes al sistema operativo.

$ qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bash" -hda 2014-01-07-wheezy-raspbian.img

Tenga en cuenta las siguientes recomendaciones.

  • Ajuste el nombre del archivo de la imagen del sistema operativo según la versión descargada.
  • No asigne mas de 256MB de memoria RAM a la emulación.

Comentar la siguiente línea en el archivo ld.so.preload.

$ vi /etc/ld.so.preload

    # /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so

De manera opcional, crear el archivo 90-qemu.rules con el siguiente contenido con el fin de crear enlaces a los dispositivos de los discos con nombres iguales a los utilizados por la Raspberry Pi.

$ vi /etc/udev/rules.d/90-qemu.rules

    KERNEL=="sda", SYMLINK+="mmcblk0"
    KERNEL=="sda?", SYMLINK+="mmcblk0p%n"
    KERNEL=="sda2", SYMLINK+="root"

Reiniciar la emulación.

$ shutdown -t now

 Iniciar la emulación

$ qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -hda 2014-01-07-wheezy-raspbian.img

Recursos

Instalando Raspbian en una tarjeta SD utilizando Linux

Introducción

raspbian Para utilizar la Raspberry Pi es necesario contar con un sistema operativo compatible con procesadores ARM instalado en la tarjeta SD.  Raspbian (basado en Debian) y ArchLinux son dos de las distribuciones mas utilizadas actualmente.

Para la instalación de Raspbian existen diferentes métodos como el uso de Noobs que facilita la instalación del sistema operativo en la tarjeta SD especialmente para las personas con poca experiencia con Linux, el Raspbian Installer o directamente desde el sistema operativo.

En esta guía se realizarán los pasos necesarios para instalar Raspbian en una tarjeta SD utilizando únicamente las herrmientas provistas por el sistema operativo Linux.  Si se utiliza Windows es posible reemplazar el uso de dd por Win32 Disk Imager para transferir la imagen a la tarjeta.

Obtener Raspbian

Raspbian - Debian Wheezy
Descargar la imagen mas reciente de Raspbian desde el sitio de descargas oficial de RaspberryPi.  En este caso se utilizó la versión Debian Wheezy de enero de 2014.  Visite el enlace para obtener información de la versión mas reciente.

$ wget http://downloads.raspberrypi.org/raspbian_latest

Verificar que el paquete obtenido haya sido descargado correctamente.  Para hacer esto compare el valor obtenido a continuación con el especificado en la página de descarga (SHA-1).

$ sha1sum 2014-01-07-wheezy-raspbian.zip

9d0afbf932ec22e3c29d793693f58b0406bcab86  2014-01-07-wheezy-raspbian.zip

Descomprimir el paquete descargado para obtener la imagen del sistema operativo.

$ unzip 2014-01-07-wheezy-raspbian.zip

Copiar el sistema operativo a la tarjeta SD

Identificar claramente el dispositivo que corresponde a la tarjeta SD donde desea instalar el Raspbian. Tener en cuenta que todo el contenido de este medio de almacenamiento será borrado así que se debe estar muy seguro de cual se escoge.

$ sudo fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
[... omitida ...]

Disk /dev/sdc: 3904 MB, 3904897024 bytes
121 heads, 62 sectors/track, 1016 cylinders, total 7626752 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000981cb

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            8192     7626751     3809280    c  W95 FAT32 (LBA)

En este caso el dispositivo donde se encuentra la tarjeta SD es /dev/sdc.

Realizar la copia de la imagen de Raspbian a la tarjeta SD escogida.  Modifique el valor del parámetro of mostrado a continuación según corresponda con su tarjeta SD.

$ sudo dd if=2012-12-16-wheezy-raspbian.img of=/dev/sdc bs=4M

$ sudo sync

Ya está lista la tarjeta SD para ser insertada en la RaspberryPi y ejecutar desde ella el sistema operativo.

Recuerde que por defecto el nombre de usuario es pi y su contraseña es raspberry.

Configuración inicial

Una vez iniciado Raspbian por primera vez se ejecutará su configuración inicial (raspi-config).  Ver Configuración inicial de Raspbian.

Recursos

Errores "Connection reset by peer" durante la conexión a Windows con rdesktop

Introducción

Durante la conexión a máquinas Windows desde Linux Ubuntu utilizando el protocolo Remote Desktop y a rdesktop como herramienta se empezaron a obtener errores de conexión como el siguiente.

ERROR: recv: Connection reset by peer

El problema

rdesktop permite la conexión de escritorio remoto entre máquinas Windows y otros sistemas operativos como Linux, sin embargo no soporta aún el nivel de autenticación de red que implementa por defecto el servicio de Remote Desktop.

La solución

En la máquina Windows que se encuentra ejecutando el servidor de Remote Desktop acceder a la opción del panel de control de Allow remote access to your computer o acceder directamente a las System Properties.

Allow Remote Access - Remote Desktop
Allow remote access to your computer

En la pestaña de Remote y bajo la sección de Remote Desktop seleccionar la opción Allow connections from computers running any version of Remote Desktop (less secure).  Por defecto se encuentra seleccionada la tercera opción.

Allow connections from any Remote Desktop protocol’s version

Otra alternativa

Como otra alternativa de conexión al escritorio remoto que parece no tener el problema de rdesktop con la autenticación de red es freerdp el cual se invoca desde la línea de comando de la siguiente manera.

$ xfreerdp -u USERNAME -d DOMAIN -p PASSWORD HOST

Esta herramienta incluye un parámetro adicional (-g) que encontré muy interesante y que permite escalar en un porcentaje específico la ventana local en la que se despliega el escritorio remoto.

Recursos

Uso de NX 3.5 con GNOME Fallback en Ubuntu 12.10

Introducción

Cómo se mencionó en el post anterior, la versión 3.5 de NX no soporta sistemas de escritorio como Unity o GNOME3 ya que no a su vez no soporta los efectos de escritorio compuesto provistos por Compiz.  Por este motivo es necesario utilizar un sistema de escritorio diferente.

En mi caso decidí experimentar con la versión fallback de GNOME3 con buenos resultados.  A continuación se detallan los proceso de instalación y configuración necesarios para utilzar este manejador de ventanas con NX 3.5.

Instalación de GNOME Fallback en el servidor

Para instalar el sistema de escritorio en el servidor es necesario ejecutar los siguientes comandos.

$ sudo apt-get install gnome-session-fallback
$ sudo apt-get install indicator-applet-appmenu

Verificar los tipos de sesiones disponibles en el servidor

Para listar las sesiones disponibles en el servidor se debe ejecutar el siguiente comando.

$ ls /usr/share/gnome-session/sessions/

gnome.session  gnome-classic.session  gnome-fallback.session  ubuntu.session

Las sesiones gnome y ubuntu las incluye por defecto Ubuntu y hacen referencia a Unity.  Las sesiones gnome-* son las instaladas por GNOME Fallback en el paso anterior, la diferencia entre estos dos tipos de sesiones consiste en que gnome-fallback no utiliza los efectos de Compiz por lo que es preferible utilizarlo en este contexto.

Configurar el cliente de NX para establecer conexiones utilizando GNOME Fallback

Desde el cliente de NX elija la sesión que desea modificar y presione el botón de configuración mostrado en la imagen a continuación.

Configuración del cliente NX
Configuración del cliente NX

En la congiruación de la sesión bajo las opciones del escritorio, seleccione Unix (para utilizar el protocolo NX), Custom (para personalizarlo) y presione el botón Settings.

Configurar sesión de NX
Configurar sesión de NX

En la configuración del escritorio, bajo la sección de aplicación seleccione la opción Run the following command y especifique el siguiente comando, siendo gnome-fallback el sistema de escritorio a utilizar.

gnome-session --session=gnome-fallback

Bajo la sección de opciones se recomienda marcar la opción New virtual desktop como se muestra a continuación.

Configuración de escritorio del cliente NX
Configuración de escritorio del cliente NX

Alternativa del lado del servidor

Si se desea evitar que cada cliente deba realizar esta modificación para utilizar el sistema de escritorio de GNOME Fallback, esta modificación puede realizarse del lado del servidor de la siguiente manera.

$ vi /usr/NX/etc/node.conf
COMMAND_START_GNOME='gnome-session --session=gnome-fallback'

O con la siguiente opción si se desea ejecutar al cliente NX en una ventana y tener mayor control sobre su configuración.

COMMAND_START_GNOME="/etc/X11/Xsession 'gnome-session --session=gnome-fallback'"

Enlaces

Instalación de NX 3.5 en Ubuntu 12.10 utilizando SSH y autenticación basada en contraseñas

Introducción

NX es un producto de NoMachine que permite acceder al escritorio de un servidor remoto.  A diferencia de software similar como VNC, NX ofrece por defecto el cifrado del tráfico a través de conexiones SSH y de SSH con túnel para el protocolo X, NX ofrece un mayor desempeño al optimizar la transmisión de datos.

NoMachine provee una versión gratuita para servidores Linux que se encuentra limitada a dos conexiones concurrentes.

En el pasado realicé la instalación de FreeNX, un fork del proyecto NX original el cual parece que ya no recibe actualizaciones.  En esta ocasión se va a realizar la instalación de NX 3.5 encontrándose también que versiones preliminares de la 4 pueden descargarse para experimentación.

Recomendaciones

En caso de actualizarse de una versión mayor es mejor desinstalar por completo los paquetes antiguos antes de instalar los nuevos.  Inclusive remover (o renombrar) el directorio del software.

$ sudo rm -rf /usr/NX

También debe tenerse en cuenta que la versión 3.5 de NX no soporta los entornos de escritorio que incluyan los efectos de escritorio compuesto provistos por Compiz, por este motivo se tendrán serios problemas al intentar acceder a escritorio remotos utilizando Unity o GNOME3.  En este caso se recomienda instalar otros manejadores de escritorio como XFCE o GNOME Fallback.

El transporte de la información se realiza a través de SSH así que el servicio (OpenSSH o similar) debe estar previamente instalado y funcionando.

Instalación en el cliente

Descargar del siguiente enlace el paquete cliente (NX Client Products) de la plataforma y arquitectura que corresponda.

http://www.nomachine.com/download.php

En este caso se realiza la instalación de la versión 3.5.0 para Ubuntu de 32 bits.

$ sudo dpkg -i nxclient_3.5.0-7_i386.deb

Instalación del servidor

Descargar del siguiente enlace los paquetes correspondientes a la plataforma y arquitectura del servidor.  Del lado del servidor es necesario instalar los paquetes de cliente, nodo y servidor.

http://www.nomachine.com/select-package-server.php?id=1&ids=2

En este caso se realiza la instalación de la versión 3.5.0 para Ubuntu Server de 64 bits.

$ sudo dpkg -i nxclient_3.5.0-7_amd64.deb
$ sudo dpkg -i nxnode_3.5.0-9_amd64.deb
$ sudo dpkg -i nxserver_3.5.0-11_amd64.deb

En algunas ocasiones la instalación del paquete servidor falla siendo requerido ejecutar la siguiente instrucción antes de volver a correr el comando de instalación mencionado anteriomente.

$ sudo /usr/NX/scripts/setup/nxserver --install

Autorizar a un usuario para realizar conexiones

Para autorizar a un usuario del sistema a realizar conexiones a su escritorio remoto se debe ejecutar el siguiente comando.

$ sudo /usr/NX/bin/nxserver --useradd USERNAME

Para mas información acerca de la gestión de los usuarios consultar la sección #5 (NX Users Administration on the Server Host) del NX Server Administrator’s Guide.

Realizar la conexión desde el cliente

Desde el equipo cliente ejecute la aplicación nxclient.

$ /usr/NX/bin/nxclient

Desde ella especifique la información básica para la conexión, incluyendo como mínimo la siguiente información.

  1. Nombre para la sesión
  2. Dirección o nombre del servidor
  3. Puerto del servicio SSH
  4. Nombre de usuario para realizar la conexión
  5. Contraseña del usuario especificado

Enlaces

  1. Getting Started with NX.
    http://www.nomachine.com/documents/getting-started.php
  2. NX Free Edition (for Linux & Solaris)
    http://www.nomachine.com/select-package-server.php?id=1&ids=2
  3. Documentación de instalación y configuración.
    1. Cliente
      http://www.nomachine.com/documents/client/install.php
      http://www.nomachine.com/documents/configuration/client-guide.php
    2. Nodo
      http://www.nomachine.com/documents/node/install.php
    3. Servidor
      http://www.nomachine.com/documents/server/install.php
      http://www.nomachine.com/documents/admin-guide.php
  4. Instalación de NoMachineNX en Ubuntu
    https://help.ubuntu.com/community/NomachineNX
  5. Why can’t I run the Unity or the Gnome 3 desktop environments with NX?
    http://www.nomachine.com/ar/view.php?ar_id=AR0500591

Instalación de un escritorio en Linux Ubuntu Server 12.10

Introducción

La edición de servidores de Ubuntu viene por defecto sin un escritorio gráfico lo cual es preferible por motivos de seguridad y desempeño.  Sin embargo existen algunos casos en los que es deseable contar con una interfaz gráfica de usuario en el servidor, para estos casos es posible instalar estos paquetes siguiendo el procedimiento mostrado a continuación.

Instalar el escritorio

El escritorio por defecto para Ubuntu es Unity el cual puede instalarse ejecutando el siguiente comando.

$ sudo apt-get install ubuntu-desktop

También es posible instalar un escritorio diferente a Unity, por ejemplo KDE de la siguiente manera.

$ sudo apt-get install kubuntu-desktop

O XFCE como se muestra a continuación.

$ sudo apt-get install xubuntu-desktop

Instalación reducida

La instalación del escritorio incluye por defecto los paquetes de las aplicaciones complementarias que en caso del servidor muy probablemente no se deseen instalar.  Para omitir el instalar estas aplicaciones adicionales se deberá realizar la instalación del escritorio con el modificador mostrado a continuación dependiendo de si se utiliza apt-get para realizar la instalación.

$ sudo apt-get install ubuntu-desktop --no-install-recommends

O aptitude.

$ sudo aptitude install ubuntu-desktop --without-recommends

Como hecho curioso los dos modificadores son análogos en su funcionalidad sin embargo parecen incluir diferentes paquetes durante su ejecución.