/etc/inittab: s0:2345:respawn:/sbin/agetty -L -h 115200 ttyUSB0 vt510 Tweaks to GNU screen to make it not start a login shell in every window: /etc/screenrc: comment out "shell -$SHELL" ~/.screenrc: deflogin off ~/.screenrc.vt510: defflow on defencoding UTF-8 deflogin off To automatically resize to the remote terminal size: /etc/profile.d/serial-resize.sh: ################################ # Not bash or zsh? [ -n "${BASH_VERSION:-}" -o -n "${ZSH_VERSION:-}" ] || return 0 # Not an interactive shell? [[ $- == *i* ]] || return 0 res() { old="$(stty -g)" stty raw -echo min 0 time 5 printf '\0337\033[r\033[999;999H\033[6n\0338' > /dev/tty IFS='[;R' read -r _ rows cols _ < /dev/tty stty "$old" # echo "cols:$cols" # echo "rows:$rows" stty cols "$cols" rows "$rows" } res2() { old="$(stty -g)" stty raw -echo min 0 time 5 printf '\033[18t' > /dev/tty IFS=';t' read -r _ rows cols _ < /dev/tty stty "$old" # echo "cols:$cols" # echo "rows:$rows" stty cols "$cols" rows "$rows" } [[ "$(tty)" == /dev/ttyUSB* ]] && res return 0 ############################### To translate UTF-8 to ISO8859-1 and automatically start screen when logged in: ~/.profile: ########### at the end of the file if [[ "$(tty)" == /dev/ttyUSB* ]]; then stty -iutf8 export LANG=en_US export MANOPT="-E ascii" #exec screen -c ~/.screenrc.vt510 fi ###########