gcal
View Google Calendar events from the command line
TLDR
Display calendar for the current month
Display calendar for the month of February of the year 2010
Provide calendar sheet with week numbers
Change starting day of week to 1st day of the week (Monday)
Display the previous, current and next month surrounding today
SYNOPSIS
gcal [options] [month [year]]
gcal [options] [[-]day.month.year]
PARAMETERS
-h, --help
Displays a help message with command options.
-s NUMBER, --starting-weekday=NUMBER
Sets the starting day of the week (1=Monday, 7=Sunday).
-m NUMBER, --month=NUMBER
Specifies the month to display.
-y NUMBER, --year=NUMBER
Specifies the year to display.
-C STRING, --culture=STRING
Applies specific culture/region rules for calendar display.
-A, --astro-calendar
Generates a calendar including astronomical events (e.g., solstices, equinoxes).
-L, --lunar-calendar
Generates a calendar displaying lunar phases.
-f FILE, --file=FILE
Loads personal appointments or events from the specified file.
-P, --print-holidays
Prints a list of holidays for the current or specified culture.
DESCRIPTION
gcal is the highly versatile GNU calendar program, offering a rich set of features beyond simple month displays. It can generate calendars for any specified month or year, calculate astronomical events like solstices and equinoxes, and display lunar phases. Users can also integrate personal appointment files, making gcal a powerful tool for scheduling and reminders.
It supports numerous output formats, including standard text, PostScript, and HTML, allowing for diverse presentation needs. Its extensive customization options enable users to define specific holidays, display rules, and output layouts, making it adaptable to various regional and personal requirements. gcal stands out for its flexibility and ability to handle complex date calculations, making it a comprehensive solution for command-line calendar management.
CAVEATS
gcal is a very feature-rich but also quite old command. Its extensive documentation (man page) can be overwhelming for new users. Configuration files for custom holidays or events require a specific syntax that might have a learning curve.
While powerful, its default ASCII output may appear less modern compared to graphical calendar applications. Some advanced output features, like PostScript, may depend on additional system tools.
CUSTOMIZATION FILES
gcal heavily relies on configuration files (e.g., ~/.gcalrc, /etc/gcalrc) for defining global and user-specific holidays, special events, and display rules. These files use a specific syntax to allow for highly personalized calendar generation.
INTERNATIONALIZATION
gcal offers extensive support for different cultures and languages. Users can specify a culture via the -C option, which affects the names of days and months, the first day of the week, and holiday definitions, making it suitable for a global user base.
OUTPUT FORMATS
Beyond basic terminal output, gcal can generate calendars in formats like PostScript (with -X), HTML (with -H), and XML, enabling integration into documents or web pages. This flexibility is a significant advantage over simpler calendar tools.
HISTORY
gcal is a foundational utility of the GNU Project, developed as a highly advanced and flexible alternative to the traditional Unix cal command. Its inception reflects the GNU philosophy of providing powerful, free software tools.
Over the years, gcal has evolved to support complex calendar calculations, including astronomical events, lunar phases, and culturally specific date representations. Its continuous development has focused on extensive customization, diverse output formats, and strong internationalization, making it a robust and comprehensive command-line calendar solution widely used in GNU/Linux environments.