Cómo conectarse a un servidor FTP con FileZilla

Los servidores FTP son muy útiles para enviar y transmitir arcvhivos entre ordenadores. De hecho es el protocolo que se usar para subir archivos a un hosting web.
Para conectarnos podemos utilizar clientes con interfaz gráfica como FileZilla (mi favorito).
Para instalarlo en Ubuntu abrimos un terminal y ejecutamos:
sudo add-apt-repository ppa:n-muench/programs-ppa
sudo apt-get update
sudo apt-get install filezilla
Ahora lo abrimos y esta es la interfaz:
Para conectarnos podemos usar la conexión rápida introduciendo servidor (dirección IP), usuario, contraseña y puerto (por defecto es el 20/21).

Usando el terminal: FTP

El comando ftp nos va a permitir conectarnos a un servidor y navegar por los directorios así como descargarnos o subir archivos.
ftp
Ahora nos pedirá nombre de usuario y contraseña. Una vez dentro estos son algunos comandos que podemos usar:
ls
Para ver los archivos y directorios.
cd /directorio
Para entrar en un directorio y:
cd ..
Para subir.
get archivo
Nos descargamos el archivo indicado.
put archivo
Para subir el archivo al servidor.
d :D Espero que os haya sido útil. Si os gusta o necesitáis algo comentad :D

Ubuntu: montar un servidor FTP y compartir archivos

En este post vamos a aprender a montar un servidor FTP en Ubuntu para compartir archivos en red local o acceder a ellos desde fuera de la red.

Instalación

Abrimos un terminal y ejecutamos:
sudo apt-get install vsftpd
Así instalaremos el servidor desde los repositorios de Ubuntu. Para acceder al servidor utilizaremos el nombre de un usuario del sistema (ordenador) y su respectiva contraseña.

Configuración

Abrimos el archivo de configuración con nuestro editor de textos preferido, en mi caso usaré gedit:
sudo gedit /etc/vsftpd.conf
Aquí os muestro mi archivo de configuración, si falta algo aquí lo tenéis explicado en inglés en vuestro archivo.
# Iniciar el servidor junto con el sistema.
listen=YES
# Permitir entrar ausuarios anónimos.
anonymous_enable=NO
#
# Entrar desde el ordenador donde está alojado el servidor.
local_enable=YES
#
# Permiso de escritura.
write_enable=NO
# Log de la actividad del cliente.
dirmessage_enable=YES
#
#Hora del servidor.
use_localtime=YES
# Log de las descargas/subidasde archivos.
xferlog_enable=YES
# Puerto de escucha FTP, por defecto es el 20.
connect_from_port_20=YES
# Mensaje de entrada del servidor
ftpd_banner=Servidor FTP de Alberto
# Este nos permite restringir el acceso a los usuarios a su propio /home (NO) o a todo el disco (YES)
chroot_local_user=NO

secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

Si queremos que los usuarios accedan únicamente a su carpeta /home pero que existan usuarios 'root' con acceso a todo el sistema modificaremos esto:
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list
Ahora creamo el archivo que contendrá la lista de usuarios 'root':
sudo gedit /etc/vsftpd.chroot_list
Escribimos el nombre de los usuarios que serán root. Guardamos y reiniciamos el servidor:
sudo /etc/init.d/vsftpd restart 
Para detener el servicio:
sudo /etc/init.d/vsftpd stop
Para iniciarlo:
sudo /etc/init.d/vsftpd start

Ubuntu: cómo gestionar usuarios

Modo gráfico

Para getionarlos utilizaremos la aplicación 'gnome-system-tools' que instalaremos desde los repositorios:
sudo apt-get intall gnome-system-tools
Esta herramienta nos permite gestionar tanto usuarios como grupos de forma sencilla. Para abrirla buscamos 'Usuarios y grupos' Puede ser que prefiramos hacerlo desde la terminal así que vamos a aprender algunos comandos básicos.

Utilizando la terminal

Usuarios

Añadir un usuario:
sudo adduser nombre_usuario
Añadir un usuario nuevo y ponerlo en un grupo (principal):
sudo adduser --ingroup nombre_grupo nombre_usuario
Añadir un usuario (nuevo o existente) y ponerlo en un grupo:
sudo adduser nobre_usuario nombre_grupo
Cambiar el grupo principal de un usurio:
usermod -g nombre_grupo nombre_usuario
Cambia el nombre de usuario:
usermod -l nuevo_nombre nombre_usuario
Eliminar un usuario:
sudo userdel nombre_usuario
Eliminar usuario y borrar su carpeta personal:
sudo userdel -r nombre_usuario

Grupos

Añadir grupo:
sudo addgroup nombre_grupo
Cambiar el nombre del grupo:
sudo groupmod -n nuevo_nombre nombre_grupo
Eliminar un grupo:
sudo groupdel nombre_grupo
Hasta aquí un tutorial básico de usuarios y grupos. Espero que os sea útil y si queréis algo comentad! :D

Ubuntu: comandos tail y head

Los comandos tail y head son muy interesantes ya que nos permiten monitorizar la parte inferior (tail o cola) y la superior (head o cabeza) de un documento.
Los dos se utilizan de la misma forma así que sólo explicare uno de ellos.
Mostar las últimas 10 filas:
tail -10 archivo.txt
Además podemos ver el archivo en tiempo real con la opción -f. Esto es muy útil para controlar archivos .log.
tail -10 -f archivo.txt
Si queremos saber cuantas líneas tiene el archivo:
wc -l test.txt
Y si queremos filtar el resultado para que sólo devuelva las líneas:
wc -l test.txt | awk '{print $1}'
Si queréis leer más documentación podéis utilizar el comando man.
man tail
man awk
man head
man wc

Processing: capturar pantalla usando Robot (java.awt)

Lo primero es saber qué es Processing (según Wikipedia):
Processing es un lenguaje de programación y entorno de desarrollo integrado de código abierto basado en Java, de fácil utilización, y que sirve como medio para la enseñanza y producción de proyectos multimedia e interactivos de diseño digital.
Es muy interesante ya que tiene librerías muy interesantes sobre todo para comunicar el PC con Arduino mediante el serial.
En este caso vamos a ver cómo utilizar la clase Robot de Javapara capturar la pantalla. Código:
//Importamos las librerías necesarias para el tratamiento de la imagen
import java.awt.*;
import java.awt.image.*;
import javax.imageio.ImageIO;

//Creamos los objetos para guardar la imagen
Robot robot;
//Este es el buffer donde se guardaran los datos
BufferedImage screenshot = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
//Area de la region a capturar. Podeis cambiar la region:
// Rectangngle rect = new Rectangle(width, height);
Rectangle rect = new Rectangle( Toolkit.getDefaultToolkit().getScreenSize() );
//Formato de la imagenguardada, ruta del archivo y nombre
String formato = "png";
String ruta = "/home/usuario";
String nombre_archivo = "screenshot";

//La funcion setup() se ejecuta al iniciar
void setup(){
  //Comprobamos que podemos crear el objeto
  try {
    robot = new Robot();
  }
  catch (AWTException e)
  {
    println("Robot class not supported by your system!");
    exit();
  }
  //Capturamos pantalla con el area del rectangulo
  screenshot = robot.createScreenCapture(rect);
  //Creamos el arvhico donde se guardara
  File archivo = new File(ruta + nombre_archivo + "." + formato);
  
  try {
    //Guardamos la imagen
    ImageIO.write(screenshot, formato, archivo);
    println("Imagen guardada");
  } catch(IOException e) {
    System.out.println("Write error for " + archivo.getPath() + ": " + e.getMessage());
  }
  //Salimos del programa
  exit();
}
Este código es muy sencillo. Luego vosotros podéis crear un bucle para tomar una captura cada cierto tiempo o hacer lo que necesitéis.
Espero que os sirva de ayuda y si os es útil compartid y comentad que es gratis!
¡Saludos!

Ubuntu: comando history

Todos (o casi todos) sabemos que pulsando la flecha hacia arriba en la terminal podemos ver los comandos que hemos ejecutado recientemente en orden de antigüedad. Pues bien si ejecutamos:
history
Obtenemos una lista de todos los comandos que hemos ejecutado junto con un número:
291 echo hola mundo
Pero no sólo eso, si no que nos permite ejecutar un comando escribiendo:
!291
El número 291 es el número de comando que aparece en la lista, que en mi caso ejecutará echo hola mundo.
También podemos buscar entre los comandos pulsando 'Ctrl + r' y ejecutarlo pulsando enter.
Con el comando grep podemos filtrar los resultados para buscar alguno en concreto:
history | grep cadena-a-buscar
Ver los últimos 25 comandos:
history 25
Borrar el historial:
history -c
Mostrar los resultados por páginas:
history | less
O combinarlo todo:
history 15 | grep cadena-a-buscar | less
Si os ha sido útil comentad y compartidlo :) ¡Saludos!

Visto en DesdeLinux

Ubuntu: cómo instalar y personalizar Cinnamon

En vista que el entorno de escritorio Gnome 3 no me llega a convencer demasiado me he encontrado con Cinnamon, un entorno de escritorio estilo windows que ofrece un buen rendimiento, es bonito y muy fácil de personalizar e instalar complementos.
Para instalarlo ejecutamos:
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-nightly
sudo apt-get update
sudo apt-get install cinnamon
Y ¡Listo! Ahora cerramos sesión y elegimos 'Cinnamon'. Una vez dentro procedemos a personalizarlo con temas y complementos.

Cambiar el icono 'Mint' del menú

Pulsamos botón derecho sobre el icono del menú y pulsamos 'Configurar. Marcamos la casilla 'Usar un icono personalizado' e introducimos el icono. Si queremos poner el de ubuntu usaremos este:
/usr/share/icons/ubuntu-mono-dark/actions/24/package-supported.svg

Instalar temas

Nos vamos a Apariencia dentro de la configuración de Cinnamon (botón derecho sobre el panel -> todos los ajustes) y seleccionamos Temas. Ahora es tan sencillo como descargárnolos desde la pestaña "Obtener más en la red". Os recomiendo Zukitwo, Android Holo, Minty o Metro (me gusta más el primero).

Instalar applets

Se hace igual: desde el menú nos dirigimos a 'Applets' y podemos ver tanto las que tenemos para instalarlas o quitarlas o descargarnos más en la red. Es muy sencillo de configurar y de instalarlas, pero si tenéis cualquier duda ponedla en un comentario.

Cambiar la posición del panel

Es tan sencillo como en el menú de configuración pinchar en 'Panel' y establecer 'Tradicional', 'Volteado' o 'Clásico'. También podéis configurar si queréis que se autoesconda.

Espero que os haya sido útil. Podéis compartirlo con los demás o comentar (es gratis!) :D