Skip to content

dtouzeau/motd-skin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MOTD-Skin - Linux SSH Welcome Screen

A customizable terminal motd-skin screen for Linux servers displaying system, network, and virtualization information.

Features

  • System Info: Hostname, kernel version, uptime
  • Network: All interfaces with IPs, DNS servers
  • VMware: Tools version, VM name, ESXi host, vCPUs, memory
  • Proxmox: VMID, UUID, BIOS vendor, CPU model
  • Skinnable: 4 built-in themes + custom JSON configs

Installation

git clone https://github.com/yourusername/motd-skin.git
cd motd-skin
go build -o motd-skin motd-skin.go
sudo cp motd-skin /usr/local/bin/

Usage

# Default display
motd-skin

# Use a skin
motd-skin -skin hacker

# List skins
motd-skin -list-skins

# Custom config
motd-skin -generate-config > config.json
motd-skin -config config.json

# Custom width
motd-skin -width 80

# Install as MOTD with cron job (requires root)
sudo motd-skin -install
sudo motd-skin -skin hacker -install
sudo motd-skin -config /etc/motd-skin.json -install

Available Skins

Skin Description
default Blue/cyan Unicode borders
minimal ASCII borders, monochrome
hacker Green matrix style
colorful Multi-colored

Setup as MOTD

Automatic Installation

# Install with automatic cron refresh every 20 minutes
sudo motd-skin -install

# With custom skin
sudo motd-skin -skin colorful -install

This creates:

  • /etc/motd - The motd-skin screen displayed on login
  • /etc/cron.d/motd-skin-motd - Cron job to refresh every 20 minutes

Manual Installation

echo '/usr/local/bin/motd-skin' | sudo tee /etc/profile.d/motd-skin.sh
sudo chmod +x /etc/profile.d/motd-skin.sh

Custom Configuration

Generate a sample config and customize:

motd-skin -generate-config > ~/.motd-skin.json
motd-skin -config ~/.motd-skin.json

Config Options

{
  "header_color": "\u001b[1;36m",
  "label_color": "\u001b[1;33m",
  "value_color": "\u001b[0;37m",
  "border_color": "\u001b[1;34m",
  "reset_color": "\u001b[0m",
  "border_top_left": "",
  "border_top_right": "",
  "border_bottom_left": "",
  "border_bottom_right": "",
  "border_horizontal": "",
  "border_vertical": "",
  "show_vmware": true,
  "show_proxmox": true,
  "show_network": true,
  "show_dns": true,
  "show_hostname": true,
  "show_uptime": true,
  "show_kernel": true,
  "banner": [
    "  ____  _____ ______     _______ ____  ",
    " / ___|| ____|  _ \\ \\   / / ____|  _ \\ ",
    " \\___ \\|  _| | |_) \\ \\ / /|  _| | |_) |",
    "  ___) | |___|  _ < \\ V / | |___|  _ < ",
    " |____/|_____|_| \\_\\ \\_/  |_____|_| \\_\\"
  ],
  "width": 60
}

Requirements

  • Go 1.21+
  • Linux (reads /proc, /sys, /etc/resolv.conf)
  • Optional: vmware-toolbox-cmd for VMware info

License

MIT License - see LICENSE file

About

motd-skin - A customizable SSH login splash screen for Linux servers. Displays hostname, network, DNS, and VMware/Proxmox virtualization information with skinnable themes

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages