Skip to content

sstallion/dynamic_motd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic /var/run/motd

dynamic_motd is a drop-in replacement for generating dynamic messages of the day on FreeBSD 13.0 or later. During system startup, the file /var/run/motd is replaced with a fifo whose content is generated by a user-configurable shell script that is executed on each login. All other aspects of motd(5) are preserved.

See Configuration for more details.

Installation

FreeBSD Packages

The sysutils/dynamic_motd package can be installed by issuing:

# pkg install -y sysutils/dynamic_motd

FreeBSD Ports

The sysutils/dynamic_motd port can be installed by issuing:

# cd /usr/ports/sysutils/dynamic_motd
# make install clean

From Source

Installing from source should be avoided unless testing changes that have not yet been released downstream. By default, files will be installed in /usr/local, however this can be changed by specifying the PREFIX variable.

# git clone https://github.com/sstallion/dynamic_motd.git /usr/local/src/dynamic_motd
# cd /usr/local/src/dynamic_motd
# make install

Configuration

The ${PREFIX}/etc/rc.motd script is responsible for generating content for /var/run/motd on each login. A sample script is provided in ${PREFIX}/etc/rc.motd.sample that emulates the default motd(5) behavior. More extensive examples can be found in ${PREFIX}/share/examples/dynamic_motd.

To enable the dynamic_motd service, update_motd should be disabled in /etc/rc.conf as it is no longer needed at system startup:

# sysrc update_motd="NO"

The dynamic_motd service can then be enabled by issuing:

# sysrc dynamic_motd="YES"
# service dynamic_motd start

Note: ${PREFIX}/etc/rc.motd can be updated without restarting the dynamic_motd service; changes are automatically picked up on next login.

Contributing

Pull requests are welcome! See CONTRIBUTING.md for more details.

License

Source code in this repository is licensed under a Simplified BSD License. See LICENSE for more details.