Showing posts with label sesión. Show all posts
Showing posts with label sesión. Show all posts

Tuesday, September 22, 2015

La importancia de los PPAs en Ubuntu y derivados: el caso Screenfetch.

Hace uno o dos años instalé Screefetch en Luna siguiendo las indicaciones del artículo anterior:

Elementary Luna en mi computadora de escritorio. Nota: el CPU dice "modelo desconocido" porque es uno de esos Phenom II a los que se les pueden activar núcleos dormidos. Pero eso es un tema de hardware y no es relevante.


La cuestión es que para entonces-tenía menos conocimiento y voluntad que los  que tengo ahora y no entendí concientemente la necesidad de agregar un simple PPA a mi Distro vía Terminal (según entiendo, esto puede hacerse vía GUI usando Synaptic; pero no hablaré de eso porque he usado Synaptic muy poco y Terminal es siempre nuestra primera opción). Para un novato, hacer todo esto para instalar un simple programita parecía extraño, incomprensible, poco amigable.

Aquí podría hablar de un dilema de carácter filosófico: a veces las instrucciones de los expertos en la comunidad  son precisas; sin embargo, llegar a ellas  y entenderlas puede ser difícil para un novato; no porque seamos tontos o ignorantes sino porque muchas veces no sabemos qué buscar una vez tenemos los resultados y la info frente a nosotros. Tal vez es que estamos acostumbrados a dar dos clicks para instalar algo, o sólo decirle que "sí" a todo el wizard de instalación; o a lo mejor es que las plataformas de Software Libre son a veces muy  escuetas y muy poco intuitivas (por ejemplo, hay muchos tutoriales que te dicen "escribí este código" pero pocos te describen qué es, qué hace, y por qué lo estás escribiendo). Estoy seguro de que muchos diseñadores UX podría estar de acuerdo conmigo y probablemente los desarrolladores no, puesto que el FOSS ha tenido una población mayoritariamente "tecchy".  

Así que, conectado a mi Banana Pro haciendo sesión remota desde mi laptop, quería saber si era posible generar el logo a pesar de estar conectado en acceso remoto, y qué tipo de logo reportaría Screenfetch para Raspbian, la distro del Banana Pro, puesto que el Banana Pi/Pro tiene un logo distinto al Raspberry Pi. Luego de esta intro aburrida,aquí vamos:

Screenfetch para Ubuntu y derivados.



Cuando voy al hipervínculo que sale en el paso 2 de la imagen anterior, soy referido al Launchpad de un usuario en Launchpad, quien parece haber "porteado" Screenfetch hacia los repos de Ubuntu:




Ya con esta información, es suficiente y puedo ponerme a trabajar. Si estás corriendo Ubuntu o derivados (como Freya), vas a tener que escribir dos comandos en tu Terminal:

$ sudo add-apt-repository ppa:djcj/screenfetch
$ sudo apt install screenfetch

En ambos casos se te va a preguntar si querés agregar y permitir instalar. Aceptás y ya. Corrés 

$ screenfetch

y listo. 

Así screenfetch debería de funcionar para usuarios de Ubuntu, ElementaryOS y afines. Sin embargo, no fue así como lo instalé inicialmente durante esta tarde; lo logré con el otro método que te mostré antes; pero repliqué este otro y también funcionó.

Eso es todo por hoy. Compartinos tus Screenshots :)


Screenfetch: información de tu PC, Distro y su logo, en Terminal.

Cuando empezaste a buscar información del FOSS (Free and Open Source Software), o cuando buscabas formas de personalizar tu Distro, seguramente te encontraste con imágenes como esta en los foros:

ElementaryOS Freya (originalmente sería lanzado como Isis, pero debido a los acontecimientos en medio orientese decidió cambiar el nombre). Nótese que desde Luna se empezaron a usar nombres de deidades femininas para cada Versión nueva de Elementary.

Estas capturas de pantalla que los Linuxeros y Unixeros (o sea, usuarios de sistemas operativos Unix, en general) comparten, tienen información de sus Equipos: hardware, sistema operativo y Kernel, junto con el logo renderizado a puros caracteres Unicode (letras, números y símbolos). A lo mejor te preguntaste cómo se hace esto. Simple: buscando, leyendo, aprendiendo, aplicando. Hay varias herramientas que se usan para este objetivo y la más conocida tal vez es ScreenFetch (sedice scriinfetch").

Screenfetch es una herramienta que Brett Bohnenkamper, mejor conocido como el usuario KittyKatt desarrolló y ha puesto a disposición del público en GitHub [un controlador colaborativo de versiones de software que también es usado como Repo].

Screenfetch: instalación general.

 

Las siguientes instrucciones me funcionaron en los siguientes entornos:
  •     ElementaryOS Freya en mi laptop.
  •     Arch Linux corriendo en VirtualBox adentro de mi laptop con Freya
  •     Raspbian en el Banana Pro por medio de sesión remota vía terminal  desde mi laptop.

Con esta muestra, podemos decir que es muy probable que estas instrucciones funcionen en otras Distros, aunque nos hace falta confirmación de parte de alguien que use la familia de RedHat, y otros. Agradeceré que nos compartan los resultados que consigan en sus distros :)

Screenfetch está en la nube de GitHub (una plataforma colaborativa de control de revisiones de Software. Digamos que es un Google Drive para programas, interfaces, código y demás cosas de desarrolladores y programadores).

1) Instalar Git

Como casi cualquier FOSS, Git se integra con Terminal, así que vamos a instalar el comando git para poder luego descargar el Screenfetch a nuestro equipo.
para Ubuntu y afines:
$ sudo apt install git


para Arch y derivados:
$ sudo pacman -Syu git
A partir de acá, podemos instalar de dos formas:

2) Creando un directorio dentro de /home y clonar Screenfetch desde Github:

Hacemos un directorio adentro de "home" (recordá que " ~  " es el home directory)
mkdir ~/screenfetch
cd ~/screenfetch

Recordá usar $ pwd para confirmar que estás en el lugar correcto)  Ahora en él, copiaremos el repo git de Screenfetch adentro de /tmp, así:

$ git clone git://github.com/KittyKatt/screenFetch.git screenfetch

Básicamente, ya tenemos el programa instalado y puesto que lo instalamos en el directorio ~/screenfetch ( o en el /tmp), para poder ejecutar el script desde /home/usuario, tendríamos que escribir
$ sudo screenfetch/screenfetch-dev

2-A) Navegando hacia /temp y clonar Screenfetch desde Github:

En lugar de hacer un nuevo directorio, navegamos hacia el directorio temporal conocido como "/tmp" y proseguir de la misma forma:

$ cd /tmp $ git clone git://github.com/KittyKatt/screenFetch.git screenfetch
$ sudo /tmp/screenfetch/screenfetch-dev


¿Cuál es la diferencia entre ambos métodos?

El primer método requiere generar una nueva entrada en tu filesystem y descargar Screenfetch a ella, mientras que en la segunda, se usa/tmp porque esta es una carpeta de almacenamiento temporal para la sesión: el propósito es que luego de apagar el equipo y reiniciar, la descarga de Screenfetch sea borrada del sistema y evitar así, usar espacio innecesario en el disco. La verdad, es cuestión de preferencia personal. No tengo preferencia, aunque me parece una buena idea el usar /tmp de vez en  cuando.

3)  Ejecutar Screenshot desde su locación: 

Dependiendo del lugar donde lo instalaste, vas a tener que escribir 
$ sudo /tmp/screenfetch/screenfetch-dv
$ sudo ~/screenfetch.

En ambos casos, el comando es demasiado largo y tedioso de escribir. El comando cp copia un directorio o archivo en otra locación, usando esta sintaxis:

$ cp ruta/origen ruta/destino

4)  Copiar el programa, a /usr/bin. 

$ sudo cp screenfetch/screenfetch-dev /usr/bin/screenfetch
$ sudo cp /tmp/screenfetch/screenfetch-dev /usr/bin/screenfetch

La razón por la cual estamos copiando al directorio /usr/bin es porque aquí se alojan los programas y comandos ejecutables por administradores. Por lo tanto, debemos de cambiar permisos para que el usuario regular pueda ejecutar el programa.
 

5) Cambiar permisos:

$ sudo chmod 755 /usr/bin/screenfetch

chmod es "change mode", cambiar modo. Asigna permisos especiales a objetos y elementos en el Filesystem de Unix. y listo. Ahora corré

6) Ejecutar y aplaudir como morsa.

$ screenfetch
Y vas a tener un resultado similar a este:

Screenfetch de Arch Linux. Hemos estado aprendiendo a instalar Arch usando VirtualBox dentro de Freya. Ignorá donde dice "firefox installed", es sólo el nombre de referencia que le di a un snapshot o "captura" de la máquina virtual. Acá estaba corriendo Arch sin GUI; es decir, a pura CLI; en ambos casos Screenfetch funciona porque es un programa de Terminal.


Screenfetch de Arch Linux (vía VirtualBox en Freya) desde un entorno de escritorio que estoy probando
Mientras escribía este artículo en mi laptop corriendo Freya, estaba conectado remotamente vía Terminal a mi servidor de descargas, mi Banana Pro. De nuevo, Screenfetch es una herramienta de Terminal así que le es indiferente si hay interfaz gráfica (Enterno de escritorio o gestor de ventanas); siempre va a darte información de tu sistema.

En la misma página de KittyKatt se encuentran las instrucciones específicas para instalar según cada Distro mayor; Pero para hace uno o dos años, fue un poco difícil de seguirlas debido a mi limitado conocimiento acerca del asunto, y opté por hacerlo como te he compartido en este artículo. Sólo por quitarme la curiosidad y completar el reto, me documenté y logré finalmente instalar Screenfetch en ElementaryOS usando tanto el método que te compartí como las instrucciones dedicadas a Ubuntu por KittyKatt. En la siguiente nota dedico un artículo para usuarios de Ubuntu/derivados.

Thursday, May 8, 2014

Root



Root (/ ro͞ot / / ru-uT/ )
  • Parte de las plantas que las pegan al piso para que la gravedad cero no las succione al espacio exterior.
  • La línea negra que se ve en el cuero cabelludo de algunas damas "rubias".
  • La cuenta de Superusuario: La mamá de Tarzán. La última chupada del mango.

Root es  el nombre de la cuenta que tiene  privilegios de “superusuario”. El Root puede usar tooooodos los comandos y archivos en Linux. Es como Arceus en Pokemon, Broly en Dragon Ball GT, Yisus* en el Cristianismo, Alá* en el Islamismo, etc.

En inglés, lo vas a conocer como Root account, Root User, Root Superuser. Tal vez recordás que tu distro te pedía crear una contraseña para Root al momento de instalar.

Se le llama así, porque un superusuario es el único que tiene acceso al directorio raíz en Linux (el directorio raíz o root directory se representa así “/”, sólo la barra diagonal, porque es el primer directorio o el “más alto”; tal vez lo has visto cuando instalaste tu distro).

Ser Superusuario, o Root user, significa tener el poder total: ser el Dios absoluto de tu Distro. Podés dar y quitar accesos y restricciones a otros usuarios (digamos que tu hermanito es bien metido y te cagó la Distro una vez, pues lo limitás esta vez y ya).

Root también hace referencia al directorio “ / “ (sin las comillas), que es el Top Level Directory,  o “el directorio padre/maestro”.


¿Cómo me convierto en Root user? / ro͞ot  ˈyo͞ozər/ ruut iuser /



En general, para la mayoría de Distros, usamos el comando su en Terminal.Se te pide que ingresés tu contraseña, des enter y listo.
su significa Substitute User, aunque la mara lo tiene por "superuser" o "switch user".


Fijate en esta "sesión" de terminal:
chepe@chepe-desktop chepe@chepe-desktop $ su contraseña: root@chepe-desktop # imaginá que aquí está lo que sea que querés hacer como Root. 


Ahora, lo que su hace, es que convierte la sesión de Terminal, en sesión del Root para que el resto de comandos que introduzcás, sean ejecutados como superuser. Observá que cuando te hayás convertido en Root, vas a ver un numeral en lugar del signo de moneda.
root@chepe-desktop # imaginá que aquí sigue lo que sea que querés hacer como Root. 
root@chepe-desktop # exit 
Cuando hayás terminado de ejecutar los comandos como superusuario es importante que salgás de la sesión de Root; para esto usás exit ; y vas a ver que el signo de moneda regresa a la línea
de Terminal. ¿Simple, cierto?
chepe@chepe-desktop $


Si estás trabajando en Ubuntu o derivadas (Lubuntu, Xubuntu, Kubuntu, Elementary y afines), vas a usar sudo -i en lugar de su. ¿Por qué? Por cuestiones de diseño de la Distro. Canonical, la compañía que desarrolló Ubuntu, consideró que era mejor que ni los admins ni los usuarios supieran sus contraseñas Root para evitar que fueran crackeadas por terceros maliciosos; no es que no tenga contraseña (sí la tiene, y es un hash criptográfico bastante difícil de descifrar), es que simplemente el SO no te la va a dar. Podés cambiarla de hecho (en otro capítulo hablaremos de ello), p-e-r-o n-o e-s r-e-c-o-m-e-n-d-a-b-l-e.
La mara experta recomienda que no usés Root en Ubuntu o derivados, a menos que sea necesario porque si errás en un comando, vas a pasearte en todo el sistema operativo. Pero si has leído tutoriales, ya sabés que en ciertas ocasiones deberás hacerlo.

Como recomendación, si la tarea que querés ejecutar requiere privilegio de superusuario y tomará una línea de comando, usá sudo , (SuperUser Do) que sirve para ejecutar un comando de una línea con el mismo usuario que inició la sesión de Terminal (y te va a pedir la contraseña de usuario, no de root), sin abrir sesión de Root y permanecer en ella más tiempo del necesario -lo que minimiza el riesgo de que cometás un error involuntario pero fatal.

Cuando busqués ayuda, tutoriales o instructivos en línea, vas a encontrar otro comando

chepe@chepe-desktop $ sudo apt-get update este comando sirve para actualizar los paquetes de ciertas distros, como Ubuntu y sus derivadas.
[sudo] contraseña para chepe:   cuando das enter, vas a ver una gran jerigonza de líneas abajo porque tus paquetes se están actualizando.

Y una vez terminado, vas a regresar al prompt con tu usuario regular:

chepe@chepe-desktop $


Recordá esto:
$ usuario regular (algunos SOs basados en Unix usan '#' en lugar de '$').
# root, superuser, root user.


Entradas populares.