screenのなかからXのアプリケーションを起動するときに
DISPLAY環境変数を設定するためのラッパを書いてつかっている。
DISPLAY環境変数を設定するためのラッパを書いてつかっている。
#!/bin/sh if [ -n "$DISPLAY" ]; then : else LIST=$( nmap -sT -p6000-6020 localhost | awk ' $2=="open" && $1~/^[1-9][0-9]*\/tcp/ { gsub(/\/tcp/, "", $1); printf(":%d\n", $1 - 6000); }' ) i=1 for disp in $LIST; do eval DISPLAY_$i=$disp i=$((i + 1)) done tty=$(tty 2>/dev/null) echo "tty=$tty" if [ -n "$DISPLAY_2" -a -n "$tty" ]; then i=1 for disp in $LIST; do printf "%2d %s\n" $i $disp i=$((i + 1)) done printf "select DISPLAY: " read input eval val=\$DISPLAY_${input:-1} DISPLAY=${val:-$input} elif [ -n "$DISPLAY_1" ]; then DISPLAY=$DISPLAY_1 else printf "input DISPLAY: " read DISPLAY fi echo "DISPLAY=$DISPLAY" export DISPLAY fi exec "$@"