startx를 자동으로 실행하지만 약간의 지연을 주고싶을때

by 가벼운게최고 posted Nov 04, 2020
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

출처: https://stackoverflow.com/questions/34813704/bash-timed-input-show-countdown

https://stackoverflow.com/questions/33614865/bash-countdown-to-execution-if-no-key-pressed

 

예전에는 ligthdm webkit2를 사용했는데

요즘은 꼭 그럴 필요 있는건가 하는 생각이 들어서 그냥 lightdm을 지웠습니다

콘솔에서 로그인하고 startx를 실행하면 openbox가 실행되게 xinit을 작성했는데

매번 startx를 하려니 생각보다 귀찮았습니다

 

다행히 콘솔 로그인시 자동으로 startx를 실행하는 간단한 코드가 있었습니다.

출처: https://wiki.archlinux.org/index.php/Xinit


if [ -z "${DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then

  exec startx

fi


 

그런데 만약 콘솔을 사용하고 싶다면 어떻게 해야할까 생각이 들었습니다.

물론 c+a+f2로 tty2에서 로그인하면 되겠지만

귀찮거나, tty2가 정상적으로 안되는 상황이 생기지는 않을까 하는 생각이 들었습니다.

그래서 exec startx대신 적당한 스크립트를 찾아서 제가 원하는대로 작동하게 만들었습니다.

 


#!/bin/bash

 

total=3

count=0

while [ ${count} -lt ${total} ] ; do

  limit=$(( $total - $count ))

  echo -e "\rPress any input key or wait ${limit} seconds for startx\c"

  read -t 1 -n 1

  if [ $? = 0 ] ; then

    break

  fi

  count=$((count+1))

done

 

exec startx


 

이제 3초의 딜레이가 생기고

3초간 제가 아무짓도 안하던가,

3초가 지나기 전에 아무 키나 누르면

startx가 실행됩니다.

만약 콘솔을 사용하고 싶다면 c+c를 누르면 되겠네요.


Articles

61 62 63 64 65 66 67 68 69 70