Instalar software desde el código fuente (stterm).

26 envíos / 0 nuevos
Último envío
#1 Dom, 30/08/2020 - 19:09
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Instalar software desde el código fuente (stterm).

Estado: 
[SOLUCIONADO]

st is a simple terminal implementation for X ( https://st.suckless.org/ )

$apt install build-essential cmake git
$cd Descargas/Builds/
$git clone https://git.suckless.org/st
$cd st
$ls
$nano README

Por defecto se instalará en /usr/local.

$nano config.mk

# paths
PREFIX = /opt/stterm-v0.8.4

La configuración se encuentra en el archivo config.def.h,

$nano config.def.h

Creamos el directorio de destino ( https://www.pathname.com/fhs/ ),

$sudo mkdir /opt/stterm-v0.8.4
$sudo ln -sT stterm-v0.8.4 /opt/stterm

Dom, 30/08/2020 - 19:11
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Instalación del software,
$sudo make clean install

Salida de terminal,

Package fontconfig was not found in the pkg-config search path.
Perhaps you should add the directory containing `fontconfig.pc'
to the PKG_CONFIG_PATH environment variable
No package 'fontconfig' found
Package freetype2 was not found in the pkg-config search path.
Perhaps you should add the directory containing `freetype2.pc'
to the PKG_CONFIG_PATH environment variable
No package 'freetype2' found

$apt install pkg-config
$apt install apt-file

Mensaje de terminal,
“The system-wide cache is empty. You may want to run 'apt-file update'
as root to update the cache.”

Dom, 30/08/2020 - 19:12
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

$ apt-file search fontconfig.pc
ibfontconfig1-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/fontconfig.pc

$ apt-file search freetype2.pc
libfreetype6-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/freetype2.pc

$apt install libfontconfig1-dev libfreetype6-dev

$sudo make clean install
x.c:11:10: fatal error: X11/Xatom.h: No existe el fichero o el directorio
#include X11/Xatom.h /* triste */

$ apt-file search X11/Xatom.h
nx-x11proto-core-dev: /usr/include/x86_64-linux-gnu/nx-X11/Xatom.h
x11proto-dev: /usr/include/X11/Xatom.h

$apt install x11proto-dev

Dom, 30/08/2020 - 19:13
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Otros errores, mismo procedimiento,
fatal error: X11/Xlib.h: No existe el fichero o el directorio
#include X11/Xlib.h

fatal error: X11/Xft/Xft.h: No existe el fichero o el directorio
#include X11/Xft/Xft.h

$apt install libx11-dev libxft-dev

Dom, 30/08/2020 - 19:15
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Y ahora,

$sudo make clean install

rm -f st st.o x.o st-0.8.4.tar.gz
c99 -I/usr/X11R6/include `pkg-config --cflags fontconfig` `pkg-config --cflags freetype2` -DVERSION=\"0.8.4\" -D_XOPEN_SOURCE=600 -O -c st.c
c99 -I/usr/X11R6/include `pkg-config --cflags fontconfig` `pkg-config --cflags freetype2` -DVERSION=\"0.8.4\" -D_XOPEN_SOURCE=600 -O -c x.c
c99 -o st st.o x.o -L/usr/X11R6/lib -lm -lrt -lX11 -lutil -lXft `pkg-config --libs fontconfig` `pkg-config --libs freetype2`
mkdir -p /opt/stterm-v0.8.4/bin
cp -f st /opt/stterm-v0.8.4/bin
chmod 755 /opt/stterm-v0.8.4/bin/st
mkdir -p /opt/stterm-v0.8.4/share/man/man1
sed "s/VERSION/0.8.4/g" /opt/stterm-v0.8.4/share/man/man1/st.1
chmod 644 /opt/stterm-v0.8.4/share/man/man1/st.1
tic -sx st.info
7 entries written to /etc/terminfo
Please see the README file regarding the terminfo entry of st.

/* Feliz! Successful */

Dom, 30/08/2020 - 19:16
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

“Cada vez que recibe mensajes sobre paquetes faltantes
(o sugerencias para modificar su PKG_CONFIG_PATH) durante una
compilación, generalmente indica que le falta el paquete de
desarrollo correspondiente, que generalmente está separado del
paquete de tiempo de ejecución que normalmente se instala en el
sistema.”

Finalizamos,

$sudo ln -sT /opt/stterm/bin/st /usr/local/bin/st

$nano .local/share/applications/stterm.desktop

[Desktop Entry]
Name=Simple Terminal
GenericName=Terminal
Comment=Suckless terminal emulator for X
Exec=st -g 140x20+0+48 -e tmux
Terminal=false
Type=Application
Encoding=UTF-8
Icon=/home/user/.icons/terminal.png
Categories=System;TerminalEmulator;
Keywords=shell;prompt;command;commandline;cmd;

Dom, 30/08/2020 - 19:17
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Uso AntiX 19.2 con IceWM,


$nano .config/tint2/tint2rc


# Launcher
launcher_item_app = /home/user/.local/share/applications/stterm.desktop

$nano .icewm/keys


key "Super+p" st -g 140x20+0+48 -e tmux

$nano .icewm/winoptions


st-256color.dTitleBar: 0

/* Consulte, xprop | grep WM_CLASS */

Dom, 30/08/2020 - 19:18
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Extras, simple configuración de tmux,


unbind C-b
set -g prefix C-a
bind C-a send-prefix

set -g history-limit 10000
set -g mouse on
bind r source-file ~/.tmux.conf

bind-key _ split-window -v
bind-key | split-window -h

bind-key -r [menor que]* resize-pane -L 3
bind-key -r [mayor que]* resize-pane -R 3
bind-key -r + resize-pane -U 1
bind-key -r - resize-pane -D 1

bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D

bind-key t set-option status

set-option -g status on
set-option -g status-interval 1
set-option -g status-justify centre
set-option -g status-keys vi
set-option -g status-position bottom
set-option -g status-style fg=colour136,bg=colour235
set-option -g status-left-length 20
set-option -g status-left-style default
set-option -g status-left "#[fg=green]#H #[fg=black]• #[fg=green,bright]#(uname -r)#[default]"
set-option -g status-right-length 140
set-option -g status-right-style default
set-option -g status-right "#[fg=green,bg=default,bright]#(tmux-mem-cpu-load) "
set-option -ag status-right "#[fg=red,dim,bg=default]#(uptime | cut -f 4-5 -d ' ' | cut -f 1 -d ',') "
set-option -ag status-right " #[fg=white,bg=default]%a%l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d"
set-window-option -g window-status-style fg=colour244
set-window-option -g window-status-style bg=default
set-window-option -g window-status-current-style fg=colour166
set-window-option -g window-status-current-style bg=default

Que es tmux-men-cpu-load?, ( https://github.com/thewtex/tmux-mem-cpu-load )

Dom, 30/08/2020 - 19:19
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Instalación resumida,


$sudo mkdir /opt/tmux-mem-cpu-load-v3.4.0
$sudo ln -sT tmux-mem-cpu-load-v3.4.0 /opt/tmux-mem-cpu-load
$cmake -DCMAKE_INSTALL_PREFIX=/opt/tmux-mem-cpu-load-v3.4.0

-- Linux detected
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/Descargas/Builds/tmux-mem-cpu-load

$make

Scanning dependencies of target tmux-mem-cpu-load
[ 12%] Building CXX object CMakeFiles/tmux-mem-cpu-load.dir/common/main.cc.o
[ 25%] Building CXX object CMakeFiles/tmux-mem-cpu-load.dir/common/memory.cc.o
[ 37%] Building CXX object CMakeFiles/tmux-mem-cpu-load.dir/common/graph.cc.o
[ 50%] Building CXX object CMakeFiles/tmux-mem-cpu-load.dir/common/powerline.cc.o
[ 62%] Building CXX object CMakeFiles/tmux-mem-cpu-load.dir/linux/memory.cc.o
[ 75%] Building CXX object CMakeFiles/tmux-mem-cpu-load.dir/linux/cpu.cc.o
[ 87%] Building CXX object CMakeFiles/tmux-mem-cpu-load.dir/common/load.cc.o
[100%] Linking CXX executable tmux-mem-cpu-load
[100%] Built target tmux-mem-cpu-load

$sudo make install

[100%] Built target tmux-mem-cpu-load
Install the project...
-- Install configuration: "MinSizeRel"
-- Installing: /opt/tmux-mem-cpu-load-v3.4.0/bin/tmux-mem-cpu-load

$sudo ln -sT /opt/tmux-mem-cpu-load/bin/tmux-mem-cpu-load /usr/local/bin/tmux-mem-cpu-load
$which -a tmux-mem-cpu-load || echo not found
….. /usr/local/bin/tmux-mem-cpu-load

/* Nota: cmake/stable,now 3.13.4-1 amd64 [instalado] */
/* bind-key -r [menor que]* resize-pane -L 3
bind-key -r [mayor que]* resize-pane -R 3

El editor se atonta con los los símbolos de desigualdad */

Dom, 30/08/2020 - 19:45
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Si no hay errores, comparte el contenido ... Esto es GNU/Linux ...

Saludos.

Mié, 02/09/2020 - 19:17
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

El Editor.

Simple configuración para .nanorc,

include /usr/share/nano/*.nanorc
include ~/.config/nano/*.nanorc

( https://github.com/scopatz/nanorc )

Micro, a modern and intuitive terminal-based text editor.
( https://github.com/zyedidia/micro#installation )

Instalación,

Modo simple,

$apt search micro
… micro/buster-backports 2.0.6-2~bpo10+1 amd64
$apt -t buster-backports install micro

/* No se garantiza que estos paquetes estén actualizados */

Modo sencillo,

$curl https://getmic.ro | bash
Micro has been downloaded to the current directory.
You can run it with:
./micro

/* Es aconsejable moverlo a otra ruta */

$sudo mkdir -p /opt/micro-v2.0.6/bin
$sudo ln -sT micro-v2.0.6 /opt/micro
$sudo mv micro /opt/micro-v2.0.6/bin
$sudo ln -sT /opt/micro/bin/micro /usr/local/bin/micro
$micro -version
Version: 2.0.6
Commit hash: 60846f5
Compiled on June 24, 2020

Por default Debian envía una versión tiny de vim ( $vim.tiny --version ).

Mié, 02/09/2020 - 19:18
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Editor de texto GUI.

xed, is a small and lightweight text editor.
( https://github.com/linuxmint/xed )


$apt install meson ninja-build
$cd Descargas/Builds/
$git clone https://github.com/linuxmint/xed.git
$cd xed
$ls
$sudo mkdir /opt/xed-v2.6.2
$sudo ln -sT xed-v2.6.2 /opt/xed/

/* Dependencias, Léase xed/meson.build, sección # dependencies */

$apt install libxml2-dev libglib2.0-dev libgtk-3-dev libpeas-dev libgspell-1-dev intltool itstool

/* Advertencia,
Dependency gtksourceview-4 found: NO found '4.0.3' but need: '>= 4.6'
Dependency libxapp found: NO found '1.2.2' but need: '>= 1.4' */

$apt -t unstable install libgtksourceview-4-dev
$apt -t unstable install libxapp-dev

Mié, 02/09/2020 - 19:20
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16


$meson --prefix=/opt/xed-v2.6.2 -Denable_spell=true -Denable_gvfs_metadata=true build/
The Meson build system
Version: 0.49.2
Source dir: /home/user/Descargas/Builds/xed
Build dir: /home/user/Descargas/Builds/xed/build
Build type: native build
Project name: xed
Project version: 2.6.2
Native C compiler: cc (gcc 8.3.0 "cc (Debian 8.3.0-6) 8.3.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Found pkg-config: /usr/bin/pkg-config (0.29)
Dependency libxml-2.0 found: YES 2.9.4
Dependency glib-2.0 found: YES 2.58.3
Dependency gthread-2.0 found: YES 2.58.3
Dependency gio-2.0 found: YES 2.58.3
Dependency gtk+-3.0 found: YES 3.24.5
Dependency gtksourceview-4 found: YES 4.6.1
Dependency libpeas-1.0 found: YES 1.22.0
Dependency libpeas-gtk-1.0 found: YES 1.22.0
Dependency gobject-introspection-1.0 found: YES 1.58.3
Dependency gmodule-2.0 found: YES 2.58.3
Dependency xapp found: YES 1.8.9
Dependency x11 found: YES 1.6.7
Dependency pango found: YES 1.42.3
Dependency gspell-1 found: YES 1.6.1
Library m found: YES
Program intltool-merge found: YES (/usr/bin/intltool-merge)
Program itstool found: YES (/usr/bin/itstool)
Configuring config.h using configuration
Configuring org.x.editor.gschema.xml using configuration
Configuring org.x.editor.service using configuration
Configuring org.x.editor.plugins.time.gschema.xml using configuration
Configuring org.x.editor.plugins.spell.gschema.xml using configuration
Program testFileMenu.py found: YES (/home/user/Descargas/Builds/xed/test/testFileMenu.py)
Program testHelpMenu.py found: YES (/home/user/Descargas/Builds/xed/test/testHelpMenu.py)
Program testToolbar.py found: YES (/usr/bin/python3 /home/user/Descargas/Builds/xed/test/testToolbar.py)
Message: prefix = /opt/xed-v2.6.2
Message: bindir = bin
Message: datadir = share
Message: libdir = lib/x86_64-linux-gnu
Message: includedir = include
Message: libexecdir = libexec
Message: desktopdir = share/applications
Message: schema_dir = share/glib-2.0/schemas
Build targets in project: 53
Found ninja-1.8.2 at /usr/bin/ninja

Mié, 02/09/2020 - 19:22
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16


$ninja -v -C build/

ninja: Entering directory `build/'
[1/121] /usr/bin/glib-genmarshal --prefix xed_marshal --output xed/xed-marshal.c --body ../xed/xed-marshal.list --include-header xed-marshal.h
INFO: Reading ../xed/xed-marshal.list...
[2/121] /usr/bin/glib-genmarshal --prefix xed_marshal --output xed/xed-marshal.h --pragma-once --header ../xed/xed-marshal.list
INFO: Reading ../xed/xed-marshal.list...


$sudo ninja -v -C build/ install

ninja: Entering directory `build/'
[1/11]

Installing /home/user/Descargas/Builds/xed/plugins/open-uri-context-menu/open-uri-context-menu/open-uri-context-menu.plugin to /opt/xed-v2.6.2/lib/x86_64-linux-gnu/xed/plugins/open-uri-context-menu

Success!

Mié, 02/09/2020 - 19:24
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16


$ /opt/xed/bin/xed

(xed:12754): GLib-GIO-ERROR **: 18:27:20.127: Settings schema 'org.x.editor.preferences.editor' is not installed
`trap' para punto de parada/seguimiento

/* f**k you */
/* https://www.youtube.com/watch?v=kKT_09pARN4 */


root@berbellon:~# cd /opt/xed-v2.6.2/share/glib-2.0/schemas/

root@berbellon:/opt/xed-v2.6.2/share/glib-2.0/schemas# ls

gschemas.compiled
org.x.editor.plugins.filebrowser.gschema.xml
org.x.editor.plugins.time.gschema.xml
org.x.editor.gschema.xml
org.x.editor.plugins.spell.gschema.xml
org.x.editor.plugins.wordcompletion.gschema.xml

/* Advertencia, cp -i, # confirmar antes de sobrescribir algo */

root@berbellon:/opt/xed-v2.6.2/share/glib-2.0/schemas# cp org.x.editor.* /usr/share/glib-2.0/schemas/

root@berbellon:~# /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas/

Mié, 02/09/2020 - 19:25
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Finalizamos,


$sudo ln -sT /opt/xed/bin/xed /usr/local/bin/xed
$cp /opt/xed-v2.6.2/share/applications/xed.desktop ~/.local/share/applications/
$wget https://github.com/linuxmint/xed/files/3947063/tomorrow_xed_theme.tar.gz
$cp tomorrow_xed_theme.tar.gz ~/.local/share/xed/styles/
/* Extraer archivo */
$apt install fonts-iosevka
$apt install fonts-hack

/* Si el proyecto requiere una versión más actual de meson, consulte
https://mesonbuild.com/Getting-meson.html

/opt, es el directorio de prueba del software … mejor aquí, /opt/xed-v2.6.2/lib/x86_64-linux-gnu/, en lugar de lib/ (directorio principal del sistema */

Dom, 13/09/2020 - 14:24
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Asignar un icono a una ventana.
( http://www.leonerd.org.uk/code/xseticon/ )

"Xterm, y probablemente muchos otros programas de X11, no asignan iconos de ventana, que los entornos de escritorio suelen utilizar para representar en la barra de tareas, etc. Este programa puede configurar el icono de la ventana X11 para cualquier ventana dada, aplicando un archivo de imagen (png)".

Dicho de otro modo, "Cada programa cliente debajo de X establece el icono de su ventana (s). Si no lo hace, el administrador de ventanas puede utilizar un icono genérico, que es un poco cutre (véase, xprop, _NET_WM_ICON)".

Ejemplo de ello lo podemos encontrar con urxvt. Pero, podemos especificar el icono que deba usar, editando el .Xresources y añadiendo,
URxvt.iconFile: /usr/share/icons/papirus-antix/24x24/apps/terminal.png.

Dom, 13/09/2020 - 14:24
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16


$cd Descargas/Builds
$wget http://www.leonerd.org.uk/code/xseticon/xseticon-0.1+bzr14.tar.gz

sha256sums=(048a8339b47030ebbff9cce4b58cb071a5c5f5a2cd7ff1ecc8434f95b2f8e4c5)

$sha256sum -c my_hash 2> /dev/null | grep xseticon-0.1+bzr14.tar.gz
xseticon-0.1+bzr14.tar.gz: La suma coincide

$sudo mkdir /opt/xseticon-v0.1bzr14
$sudo ln -sT xseticon-v0.1bzr14 /opt/xseticon

$nano Makefile

...
PREFIX=/opt/xseticon-v0.1bzr14
install: xseticon
install -m 755 -d $(BINDIR)
install -m 755 xseticon $(BINDIR)
...

$sudo make clean install
rm -f xseticon.o xseticon
gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I /usr/X11R6/include -c xseticon.c -o xseticon.o
gcc -lglib-2.0 -L /usr/X11R6/lib -lX11 -lXmu -lgd xseticon.o -o xseticon
/usr/bin/ld: no se puede encontrar -lXmu
collect2: error: ld returned 1 exit status
make: *** [Makefile:21: xseticon] Error 1

$apt-file search libXmu.so

Dependencias de construcción, libxmu-headers, libgd-dev, libxmu-dev.

$sudo make clean install
rm -f xseticon.o xseticon
gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I /usr/X11R6/include -c xseticon.c -o xseticon.o
gcc -lglib-2.0 -L /usr/X11R6/lib -lX11 -lXmu -lgd xseticon.o -o xseticon
install -m 755 -d /opt/xseticon-v0.1bzr14/bin
install -m 755 xseticon /opt/xseticon-v0.1bzr14/bin

$sudo ln -sT /opt/xseticon/bin/xseticon /usr/local/bin/xseticon

/* Last Updated package: 2018-01-18, posiblemente desee eliminar las dependencias */

Dom, 13/09/2020 - 14:25
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Si eres un usuario de Debian,
( https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820856 )
( https://wiki.debian.org/Xsession )

Si eres un usuario de AntiX,
Slim (display manager) no lee el ~/.profile (puedo usar estas rutas desde las TTY)


# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi

/* Los usuarios de systemd esperan ver ~/.local/bin en el PATH, pero aquí usamos “runit” */
/* La ruta de búsqueda para nuestros scripts se agrego directamente al .bashrc, “PATH=$PATH:$HOME/bin” */

Dom, 13/09/2020 - 14:26
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Ejemplo de uso (Terminal stterm):


#!/bin/bash

APP="/usr/local/bin/st"
ICON="$HOME/.icons/st.png"
WAIT=0.1

function change-panel-icon {

sleep $WAIT
wmctrl -l | grep ' st$' | awk '{print $1}' | xargs -n1 -I{} xseticon -id {} "$ICON"

}

$APP -g 140x20+0+48 & change-panel-icon

o


#!/bin/bash

APP="/usr/local/bin/st"
ICON="$HOME/.icons/st.png"
WAIT=0.1

function change-panel-icon {

sleep $WAIT
activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)")
activeWinId="${activeWinLine:40}"
xseticon -id "$activeWinId" "$ICON"

}

$APP -g 140x20+0+48 & change-panel-icon

Finalizamos con la creación de un acceso rápido (~/.icewm/keys) o creando un *.desktop (~/.local/share/applications/stterm.desktop).

/* tint2, ofrece en su sección task, las opciones de {task_thumbnail, task_thumbnail_size}, pero es algo buggy */

Dom, 13/09/2020 - 14:29
Berbellon
Imagen de Berbellon
Desconectado/a
colaborador
se unió: 04/05/16

Montaje, desmontaje de dispositivos (udevil/devmon y rox-filer).
( https://ignorantguru.github.io/udevil/ )

Qué es udevil?
1. udevil, es una herramienta de línea de comandos para tareas relacionadas con el montaje, se desarrolló como una alternativa a udisks.
2. udevil es un front-end para mount.
3. udevil no es un daemon.
4. Permite a los usuarios montar dispositivos sin contraseña.
5. El directorio predeterminado es /media/$USER.
6. Si desea usar /run/media/$USER, usted debe crearlo.
7. Como sea, udevil creará automáticamente los puntos de montaje dentro del directorio /media/$USER o /run/media/$USER o cualquier otro, ejemplo, $udevil mount /dev/sr0 /media/test.
8. udevil normalmente no permite que los usuarios no root monten o desmonten dispositivos internos, ya que esto puede crear problemas de seguridad. Si desea permitir esto, puede agregar el dispositivo a allowed_internal_devices o allowed_internal_uuids en /etc/udevil/udevil.conf.

El problema, es que soy un poco perezoso para teclear: