3 Libreta de direcciones de línea de comandos de código abierto para Linux
Los sistemas informáticos modernos emplean varias herramientas para administrar los contactos en nuestras libretas de direcciones. Con la proliferación de aplicaciones de redes sociales, esta complejidad ha aumentado considerablemente y carece de la mayor simplicidad en el estilo que adoran la mayoría de los usuarios de Linux. Este artículo muestra tres herramientas utilizadas en la creación de libretas de direcciones desde nuestra terminal linux bash.
1) Herramienta Khard
Khard es una libreta de direcciones para la consola de Linux. Crea, lee, modifica y elimina las entradas de la libreta de direcciones carddav en su máquina local. Khard también es compatible con los clientes de correo electrónico mutt and mucho y el cliente SIP twinkle. Khard está desarrollado y probado en el sistema operativo Debian, versiones 7, 8 y pruebas, pero debería ejecutarse en todos los sistemas similares a Unix.
Prerrequisitos
Tienes que instalar y configurar un servidor caldav y carddav. yo recomiendo Baikal.
Luego debe sincronizar los calendarios y las libretas de direcciones en su máquina local con vdirsyncer.
Y necesita pip para instalar módulos de Python:
sudo aptitude install python-setuptools sudo easy_install pip
Instalación de Khard
a) De pypi
Khard se puede instalar a través de pip. Recomiendo virtualenv para crear un entorno python3 separado. Para que su sistema se mantenga limpio. Además, no tiene que luchar con diferentes instancias de Python, especialmente si su sistema operativo todavía está predeterminado en Python2.
# install virtualenv package sudo pip install virtualenv # create folder for all virtualenv's and put ~/.virtualenvs/bin in your shell's executable path mkdir ~/.virtualenvs # create new python3 virtual environment with the name "khard" virtualenv -p python3 ~/.virtualenvs/khard # to install khard, use the pip command from that newly created environment # otherwise it would be installed in the users home directory ~/.virtualenvs/khard/bin/pip install khard # create subfolder for symlinks of local binaries # and don't forget to add it to your shell's executable path too mkdir ~/.virtualenvs/bin # create a symlink to the local binary folder ln -s ~/.virtualenvs/khard/bin/khard ~/.virtualenvs/bin
b) De fuente
Si, en cambio, desea ejecutar el código fuente directamente, puede instalar los módulos de Python necesarios a mano, clonar desde git y ejecutar el script khard-runner.py:
pip install --user atomicwrites, configobj, pyyaml, vobject git clone https://github.com/scheibler/khard.git cd khard/ ./khard-runner.py [action [options]]
Configuración
Para obtener el archivo de configuración de ejemplo y otros datos adicionales, puede clonar desde git (ver arriba) o descargar el paquete desde pypi:
pip install --download /tmp --no-deps --no-use-wheel khard tar xfz /tmp/khard-x.x.x.tar.gz rm /tmp/khard-x.x.x.tar.gz cd khard-x.x.x/
Ahora copie el archivo de configuración de ejemplo y adapte su contenido a sus necesidades:
mkdir ~/.config/khard/ cp misc/khard/khard.conf.example ~/.config/khard/khard.conf
Khard también contiene un script auxiliar llamado davcontroller. Está diseñado para crear y eliminar libretas de direcciones y calendarios en el servidor. He creado davcontroller porque mi servidor CalDAV usado anteriormente (Darwin calendarserver) no ofrecía una forma sencilla de crear nuevas agendas y calendarios. Pero davcontroller debe considerarse como una solución pirata y solo se prueba con el servidor de calendario de Darwin. Entonces, si su servidor CalDAV ofrece una forma de crear nuevas libretas de direcciones y calendarios, le recomiendo que prefiera ese método sobre davcontroller.
Si, no obstante, desea probar davcontroller, primero debe instalar CalDAVClientLibrary. Desafortunadamente, esa biblioteca no es compatible con python3, por lo que debe crear un entorno virtual python2 adicional e instalarlo allí:
# create python2 virtual environment virtualenv -p python2 ~/.virtualenvs/davcontroller # get library from svn repository sudo aptitude install subversion svn checkout http://svn.calendarserver.org/repository/calendarserver/CalDAVClientLibrary/trunk CalDAVClientLibrary cd CalDAVClientLibrary # install library ~/.virtualenvs/davcontroller/bin/python setup.py install # start davcontroller script ~/.virtualenvs/davcontroller/bin/python /path/to/khard-x.x.x/misc/davcontroller/davcontroller.py
Mostrar contactos
Una vez que haya creado una nueva libreta de direcciones o calendario y lo haya sincronizado con su máquina local, puede enumerar todos los contactos disponibles con el siguiente comando:
khard list
o si tiene más de una libreta de direcciones y desea filtrar la salida:
khard list -a addressbook1,addressbook2
La tabla de contactos resultante solo contiene el primer número de teléfono y la dirección de correo electrónico. Si desea ver todos los datos de contacto, puede elegir uno de la lista:
khard details
o búscalo:
khard details [--strict-search] name of contact
o seleccione el contacto por su uid, que puede encontrar en la tabla de contactos:
khard details -u ID
Los parámetros -a y -u de los ejemplos anteriores son siempre opcionales. Si no los usa o su entrada produce resultados inequívocos, puede elegir los contactos de una lista.
El parámetro de búsqueda busca en todos los campos de datos. Por lo tanto, no está limitado al nombre del contacto, sino que también podría, por ejemplo, buscar una parte de un número de teléfono, una dirección de correo electrónico o una dirección postal. Sin embargo, si explícitamente desea limitar su búsqueda al campo de nombre, puede usar el parámetro –strict-search en su lugar.
Crear contacto
Agrega un nuevo contacto con el siguiente comando:
khard new [-a "address book name"]
La plantilla para el nuevo contacto se abre en el editor de texto, que puede configurar en el archivo khard.conf. Sigue la sintaxis de yaml.
Alternativamente, puede crear el contacto desde stdin:
echo """ First name : John Last name : Smith Email : work : john.smith@example.org Phone : home : xxx 555 1234 Categories : - cat1 - cat2 - cat3 """ | khard new [-a "address book name"]
o crear desde el archivo de plantilla de entrada:
khard new -i contact.yaml [-a "address book name"]
Puede obtener una plantilla de contacto vacía con el siguiente comando:
khard export --empty-contact-template -o empty.yaml
Por defecto, khard crea tarjetas virtuales de la versión 3.0. Si sus otras aplicaciones de contacto admiten vcards de la versión 4.0 más reciente, puede cambiar esto con la opción –vcard-version. Ejemplo:
khard new --vcard-version=4.0 [-a "address book name"]
Para una solución más permanente, puede configurar el parámetro preferencia_versión en la sección vcard del archivo de configuración de khard (consulte misc / khard / khard.conf.example para más detalles). Pero tenga en cuenta que Khard no puede convertir los contactos ya existentes de la versión 3.0 a la 4.0. Por lo tanto, esta configuración no es aplicable a la acción de modificación.
Editar contactos
Utilice lo siguiente para modificar el contacto después de una creación exitosa:
khard modify [-a addr_name] [-u uid|search terms [search terms ...]]
Si desea editar el contacto en otro lugar, puede exportar la plantilla de contacto completa:
khard export -o contact.yaml [-a addr_name] [-u uid|search terms [search terms ...]]
Edite el archivo yaml y vuelva a importarlo a través de stdin:
cat contact.yaml | khard modify [-a addr_name] [-u uid|search terms [search terms ...]]
o nombre de archivo:
khard modify -i contact.yaml [-a addr_name] [-u uid|search terms [search terms ...]]
Si desea fusionar contactos, utilice lo siguiente para seleccionar un primer contacto y luego un segundo:
khard merge [-a source_abook] [-u uid|search terms [search terms ...]] [-A target_abook] [-U target_uid|-t target_search_terms]
Se le lanzará a su merge_editor (vea la opción «merge_editor» en khard.conf) donde puede fusionar todos los cambios desde el primer contacto seleccionado con el segundo. Una vez que haya terminado, se borrará el primer contacto y se actualizará el segundo.
Copiar o mover contacto:
khard copy [-a source_abook] [-u uid|search terms [search terms ...]] [-A target_abook] khard move [-a source_abook] [-u uid|search terms [search terms ...]] [-A target_abook]
Remover contacto:
khard remove [-a addr_name] [-u uid|search terms [search terms ...]]
Este pequeño script ayuda a crear y eliminar nuevas libretas de direcciones y calendarios en el servidor carddav y caldav.
Lista de recursos disponibles
davcontroller -H example.com -p 11111 -u USERNAME -P PASSWORD list
Las posibles acciones son: listar, nueva libreta de direcciones, nuevo calendario y eliminar. Después de crear o eliminar, debe adaptar su configuración de vdirsyncer.
Establecer como libreta de direcciones externa
Khard se puede utilizar como una libreta de direcciones externa para el cliente de correo electrónico mutt. Para lograr eso, agregue lo siguiente a su archivo de configuración mutt (principalmente ~ / .mutt / muttrc):
set query_command= "khard email --parsable %s" bind editor <Tab> complete-query bind editor ^T complete
Luego, puede completar las direcciones de correo electrónico presionando la tecla Tab en el cuadro de diálogo de correo nuevo de mutt. Si sus libretas de direcciones contienen cientos o incluso miles de contactos y el proceso de consulta es muy lento, puede probar la opción –search-in-source-files para acelerar la búsqueda:
set query_command= "khard email --parsable --search-in-source-files %s"
Para agregar direcciones de correo electrónico a la libreta de direcciones de khard, también puede agregar las siguientes líneas a su archivo muttrc:
macro index,pager A "<pipe-message>khard add-email<return>" "add the sender email address to khard"
Luego, navegue hasta un mensaje de correo electrónico en la vista de índice de mutt y presione «A» para iniciar el cuadro de diálogo de importación de direcciones.
2) Herramienta Ppl
libreta de direcciones de personas depende de `rubygems` para instalacion; `git` para almacenamiento y sincronización.
Instalación
$ sudo gem install ppl
Crear una libreta de direcciones
$ ppl init ~/contacts
`ppl init` es como crear un repositorio Git
Agregar contactos
$ cd ~/contacts $ ppl add alice "Alice Adams" $ ppl add bob "Bob Brown" $ ppl add eve "Eve Edwards"
ppl add crea nuevos contactos en la libreta de direcciones
Almacenar algunos datos de contacto
$ ppl email alice alice@example.org $ ppl phone bob 0123456789 $ ppl org eve "Red Hat"
ppl tiene muchos comandos para agregar nuevas propiedades a los contactos. Más información está disponible en el documentación
Configure su libreta de direcciones predeterminada
$ echo "[address book]" > ~/.pplconfig $ echo path = "`pwd`" >> ~/.pplconfig
Esto le indica a las personas que le permitan seguir trabajando con esta libreta de direcciones incluso después de discos compactos en otro directorio
3) Velocidad terminal
Velocidad terminal es una aplicación rápida para tomar notas para el terminal UNIX, que se enfoca en permitirle crear o encontrar una nota lo más rápida y fácilmente posible, luego usa su
$EDITOR
para abrir y editar la nota. Está muy inspirado en la aplicación OS X Velocidad de notación.
Instalación
Para instalar Terminal Velocity, ejecute:
pip install terminal_velocity
Luego, para iniciarlo, simplemente ejecute:
terminal_velocity
Para usar un directorio de notas diferente, ejecute:
terminal_velocity path/to/your/notes/dir
Para ver todas las opciones de la línea de comandos, ejecute:
terminal_velocity -h
Para salir de la aplicación, presione
ctrl-c or ctrl-x.
Crear notas
Para crear una nueva nota, escriba un título para la nota y presione enter
. La nota se abrirá en su editor de texto. A medida que escribe el título, la lista de notas se filtra para mostrar notas que coinciden con lo que ha escrito, lo que le da la oportunidad de abrir una nota relacionada en lugar de crear una nueva.
Encontrar notas
La misma área de texto se utiliza para ingresar los títulos de nuevas notas y para buscar notas. Para buscar y abrir una nota, escriba algunas palabras del título o contenido de la nota. La lista de notas se filtra a medida que escribe para mostrar solo las notas coincidentes. Cuando vea la nota que desea, use el up
y down
flechas para seleccionarlo y luego presionar enter
Para abrirlo. También puedes usar page up
y page down
o clics del mouse para seleccionar notas.
Autocompletar
Si escribe el comienzo del título de una nota (no distingue entre mayúsculas y minúsculas), esa nota se seleccionará automáticamente en la lista de notas y su título se completará automáticamente en el cuadro de búsqueda. Siempre que se seleccione una nota, simplemente presione enter
para abrir esa nota.
Si desea crear una nueva nota cuyo título sea una subcadena del título de una nota existente, incluso después de haber escrito el título completo de su nueva nota, la nota existente seguirá siendo seleccionada por el autocompletado. En este caso, debes presionar ctrl-d
o escape
para borrar la selección de autocompletar, luego presioneenter
para crear tu nota.
Conclusión
Linux proporciona muchas herramientas para crear y mantener notas; Además de las enumeradas anteriormente, existen otras herramientas como devtodo que utilizan los desarrolladores para mantener una lista de tareas en orden de importancia. Los usuarios tradicionales de Linux prefieren la sencilla interfaz de línea de comandos del terminal Linux con sus herramientas ligeras. Sin embargo, los desarrollos recientes en el ecosistema Linux han traído muchas herramientas GUI para administrar libretas de direcciones. Aunque puedan parecer simples para algunos usuarios de computadoras sin conocimientos técnicos; las herramientas basadas en terminales siguen siendo un clásico y una preferencia para los usuarios de Linux más experimentados.