+++ /dev/null
-#!/bin/sh
-# Filename: grml-hostname
-# Purpose: simple frontend to set hostname
-# Authors: (c) Michael Prokop <mika@grml.org>
-# Bug-Reports: see http://grml.org/bugs/
-# License: This file is licensed under the GPL v2.
-################################################################################
-
-. /etc/grml/script-functions
-
-check4root || exit 1
-
-[ -n "$SUDO_USER" ] && RUNASUSER=$SUDO_USER || RUNASUSER=grml
-
-PN='grml-hostname'
-OLDHOSTNAME="$(hostname)"
-
-case "$1" in -h|--help) echo "Usage: $0 [hostname]">&2; exit 1 ;; esac
-
-if [ -n "$1" ] ; then
- NEW_HOSTNAME="$1"
- NONINTERACTIVE=1
-else
- if [ -x /usr/bin/random-hostname ] ; then
- NEW_HOSTNAME="$(/usr/bin/random-hostname)"
- else
- NEW_HOSTNAME="$(hostname)"
- fi
-fi
-
-if [ -z "$NONINTERACTIVE" ] ; then
- NEW_HOSTNAME="$(dialog --stdout --title "${PN}" --extra-button --extra-label "Propose hostname" \
- --inputbox "Set hostname (/etc/hostname, /etc/hosts and /etc/postfix/main.cf will be adjusted)\
-\n\nTip: press 'Propose hostname' for another proposal" 14 70 $NEW_HOSTNAME)"
- retval=$?
-else
- retval=0
-fi
-
-case $retval in
- 0)
- echo "$NEW_HOSTNAME" > /etc/hostname
- echo "$NEW_HOSTNAME" > /etc/mailname
- sed -i "s/^127.0.0.1[ \t]*$OLDHOSTNAME[ \t]*localhost/127.0.0.1 $NEW_HOSTNAME localhost/" /etc/hosts
- sed -i "s/^::1[ \t]*ip6-localhost ip6-loopback[ \t]*$OLDHOSTNAME/::1 ip6-localhost ip6-loopback $NEW_HOSTNAME/" /etc/hosts
- POSTFIX=''
- if [ -r /etc/postfix/main.cf ] ; then
- sed -i "s/^mydestination = .*/mydestination = $NEW_HOSTNAME, localhost, localhost.localdomain/" /etc/postfix/main.cf && \
- sed -i "s/^myhostname = .*/myhostname = $NEW_HOSTNAME/" /etc/postfix/main.cf && POSTFIX='
-Configuration of myhostname in /etc/postfix/main.cf has been adjusted as well. Do not forget to restart postfix if necessary.'
- fi
- if [ -n "$DISPLAY" ] ; then
- if sudo -u $RUNASUSER xauth add $(xauth -n list | grep "${OLDHOSTNAME}/unix:0" | sed "s|${OLDHOSTNAME}/unix:0|${NEW_HOSTNAME}/unix:0|") ; then
- sudo -u $RUNASUSER xauth remove "${OLDHOSTNAME}/unix:0"
- fi
- fi
-
- /etc/init.d/hostname.sh
-
- if [ -z "$NONINTERACTIVE" ] ; then
- dialog --stdout --title "${PN}" --msgbox "Setting hostname to $NEW_HOSTNAME was successful.$POSTFIX" 0 0
- else
- echo "Setting hostname to $NEW_HOSTNAME: done"
- fi
- exit 0
- ;;
- 1)
- echo "Cancel pressed."
- ;;
- 3)
- $0 ;;
- 255)
- echo "ESC pressed."
- ;;
-esac
-
-## END OF FILE #################################################################