πΎ Archived View for tilde.team βΊ ~rami βΊ abook.gmi captured on 2024-05-10 at 11:36:39. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Χ¨ΧΧ
SUBJECT: Abook: ΠΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ Π°Π΄ΡΠ΅ΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΈ Π΅Π΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΏΠΎΡΡΠΎΠ²ΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Mutt
AUTHOR: Rami Rosenfeld
DATE: 04/04/24; upd. 10/04/24; 27/04/24
TIME: 17.00
LANG: ru, en
LICENSE: GNU FDL 1.3
TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, terminal, console, mail, mutt, abook
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΠΎΡΡΠΎΠ²ΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Mutt - ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΎΠΉ Abook. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΊ ΠΈ Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ ΡΡ ΠΎΠΆΠ΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Abook ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΈΠ½ΡΡΡΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ, ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ², ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±Π°Π· Π΄Π°Π½Π½ΡΡ (ΠΈΡ ΠΈΠΌΠΏΠΎΡΡΠΎΠΌ/ΡΠΊΡΠΏΠΎΡΡΠΎΠΌ).
dnf install abook
Π― Π½Π΅ ΡΡΠ°Π» ΠΏΠΎΡΡΠ½ΡΡΡ ΠΎΠΏΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π½ΠΈΠΆΠ΅, Ρ.ΠΊ. abookrc ΠΏΡΠΎΡΡ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ "out-of-box". ΠΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΡΠΎΡΡΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ.
nano ~/.abook/abookrc
# Declare a few custom fields field pager = Pager field address_lines = Address, list field birthday = Birthday, date # Define how fields should be displayed in tabs view CONTACT = name, email view ADDRESS = address_lines, city, state, zip, country view PHONE = phone, workphone, pager, mobile, fax view OTHER = url, birthday # Preserve any unknown field while loading an abook database set preserve_fields=all # Automatically save database on exit set autosave=true # Format of entries lines in list set index_format=" {name:22} {email:40} {phone:12|workphone|mobile}" # Show all email addresses in list set show_all_emails=true # Command used to start mutt set mutt_command=mutt # Return all email addresses to a mutt query set mutt_return_all_emails=true # Command used to print set print_command=lpr # Command used to start the web browser set www_command=lynx # Address style [eu|us|uk] set address_style=us # Use ASCII characters only set use_ascii_only=false # Prevent double entry set add_email_prevent_duplicates=false # Field to be used with "sort by field" command set sort_field=nick # Show cursor in main display set show_cursor=false
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»ΠΈΡΠ½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ², Π² ΡΠ΅Π»ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
chmod 700 -R ~/.abook
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ»Ρ ΠΏΠΎΠΊΠ°Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΎΠ±ΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π²Π½Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΡΡΠΎΠΊΡ (ΡΠΈΡΡΠ° = Π΄Π»ΠΈΠ½Π° Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ ):
set index_format=" {name:22} {email:40} {phone:12|workphone|mobile}"
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ (ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π½Ρ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ):
set index_format=" {name:22} {email:40} {phone:12|workphone|mobile} {birthday:14}"
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π ΠΏΠΎΠ»Π΅ "set www_command=lynx" ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΡΠΉ Π±ΡΠ°ΡΠ·Π΅Ρ lynx Π½Π° Π΄ΡΡΠ³ΠΎΠΉ.
ΠΠ½Π΅ΡΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» Mutt ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
nano ~/.mutt/muttrc
# Abook settnigs set query_command="abook --mutt-query '%s'" macro index a "|abook --add-email\n" 'add sender to abook' macro pager a "|abook --add-email\n" 'add sender to abook'
1) ΠΠΎΠ΄Π±ΠΎΡ Π°Π΄ΡΠ΅ΡΠ° ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Abook
ΠΠ°Ρ ΠΎΠ΄ΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Mutt, Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° "Q" (Π² Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅) ΠΈ Π½Π°Π±Π΅ΡΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π½ΠΈΠΊΠ½Π΅ΠΉΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ Π²Π°ΠΌ E-mail'ΠΎΠΌ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠΊΠ½Π΅ Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Abook. ΠΠ°Π»Π΅Π΅ Π½Π°ΠΆΠΌΠΈΡΠ΅ "m" Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
2) ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ E-mail'a ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΏΠΈΡΡΠΌΠ° Π² Π°Π΄ΡΠ΅ΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³Ρ Abook
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΏΠΈΡΡΠΌΠ° Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° "a", ΠΈ Mutt Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΡ Π²Π½Π΅ΡΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ/Π°Π΄ΡΠ΅Ρ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Abook.
3) ΠΡΠ±ΠΎΡ Π°Π΄ΡΠ΅ΡΠ° ΠΈ ΠΏΡΡΠΌΠΎΠ΅ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ E-mail ΠΈΠ· Abook
ΠΠΎΡΡΠΎΠ²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΎΠΊΠ½Π° Abook. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠ°ΡΠ° ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° (Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ) ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° "m".
? help q quit Q quit without saving P quit and output selected item(s) to stderr ^L refresh screen arrows / j,k scroll list enter view/edit item a add item r/del remove selected items M merge selected items (into top one) D duplicate item U remove duplicates space select item + select all - unselect all * invert selection w write database to disk l read database from disk C clear whole database i import database e export database p print database o open database s sort database S "surname sort" F sort by field (defined in configuration file) / search \ search next occurrence A move current item up Z move current item down m send mail with mutt v view URL with web browser
arrows/h,l change tab q quit to main screen 1 - 5 A - Z edit fields k or < previous item j or > next item r roll e-mail addresses up ESC-r roll e-mail addresses down u undo m send mail with mutt v view url with web browser
ΠΡΠ΅ ΠΎΠ΄Π½Π° Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ abook - ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π°Π΄ΡΠ΅ΡΠ½ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΠ ΠΠΠΠ :
abook --convert --informat vcard --infile ~/contacts.vcf --outformat abook --outfile ~/.abook/addressbook_1
ΠΠΠΠΠ: Π― Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°Π» Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°Ρ : ΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π°ΡΠΈΠ½ΠΈΡΠ΅ΠΉ (Π°Π»ΡΠ°Π²ΠΈΡΠΎΠΌ en_US) ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΡΠ°ΠΉΠ»ΠΎΠ²; ΡΡΠΎ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΈΠΌΠ΅Π½/ΡΠ°ΠΌΠΈΠ»ΠΈΠΉ/Π½ΠΈΠΊΠ½Π΅ΠΉΠΌΠΎΠ² ΠΊΠΎΠ½ΡΠ°ΠΊΡΠΎΠ² Π² Π°Π΄ΡΠ΅ΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³Π°Ρ . ΠΡΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΏΡΠΈ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΠΈΠΌΠΏΠΎΡΡΠ΅/ΡΠΊΡΠΏΠΎΡΡΠ΅ ΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ .
Π ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²Π½Π΅ΡΡΠΈ Π² .bashrc ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
export LC_CTYPE=ru_RU.UTF.8
ΠΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ:
INPUT:
- abook β abook native format
- ldif β ldif / Netscape addressbook
- mutt β mutt alias
- pine β pine addressbook
- csv β comma separated values
- palmcsv β Palm comma separated values
- vcard β VCard addressbook
OUTPUT:
- abook β abook native format
- ldif β ldif / Netscape addressbook (.4ld)
- mutt β mutt alias
- html β html document
- pine β pine addressbook
- vcard β VCard addressbook
- csv β comma separated values
- palmcsv β Palm comma separated values
- elm β elm alias
- text β plain text
- spruce β Spruce address book
- wl β Wanderlust address book
- bsdcal β BSD calendar
- custom β Custom output format, see below
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌ.: man abook abookrc muttrc
π― Rami Rosenfeld, 2024. GNU FDL 1.3.