본문 바로가기

Linux-related

터미널에서 작업표시줄에 알림메세지 보내기. kdialog와 notify-send

스크립트 코딩을 하다보면 시스템 트레이 혹은 작업표시줄 알림메세지를 보낼 필요가 생긴다.
(물론 그렇다고 내가 스크립트 코딩을 자주하는 건 아니다.. ㅡㅡ;;)

노트북을 쓰는 관계로 다른 리눅서들이 겪지 않는 문제를 한두개 겪었는데
그 중에 터치패드 문제한영 전환키 문제가 있다.
두 문제중 터치패드 문제는 우분투 코리아에서 해결책을 얻을 수 있었다.

그 때, 스크립트 코드를 하나 얻을 수 있었는데 거기에 notify-send 라는 명령어가 있었고
kubuntu유저인 나는 libnotify-bin 패키지를 설치해야 했다.
(알고보니 gnome에서도 설치해야 사용할 수 있는 거였다.)
쨌든 스크립트를 시작프로그램에 등록해놓고 부팅때마다 알림 팝업 메세지를 보며 살았다.

그렇게 별다른 생각없이 살다가 노트북 수리로 kubuntu 10.04를 재설치하면서
늘 뜨던 팝업 알림 메세지가 뜨지 않자 패키지를 다시 설치하려다 한가지 생각이 들었다.

꼭 패키지 설치를 해야만 할까?? KDE가 자체적으로 제공하는 명령어/패키지는 없을까??

구글신께 물어서 답을 얻었다.

KDE 환경에서는 kdialog 명령어
Gnome 환경에서는 notify-send 명령어

KDE에서는 kdialog 명령어로 알림메세지를 보낼 수 있다.
아래는 내가 실제로 사용하는 스크립트의 일부.

kdialog --passivepopup '터치패드를 껐습니다.' 3 --title '터치패드OFF'

kdialog --help 명령으로 자세한 옵션을 알 수 있다.


Gnome에서는 아쉽게도 libnotify-bin패키지를 설치해서 notify-send 명령어를 쓰는 수 밖에 못찾았는데
이는 Gnome이 안좋아서라기보다 내가 Gnome유저가 아니기 때문이다.
내가 찾아낸 방법들은 다들 함수를 사용해서 리턴값을 받고 show 등의 함수를 다시 사용하는 식의
나같은 생초보가 사용하기엔 부담스러운 방법들 뿐이었다.

그에 비해 notify-send는 그럴 필요없이 명령어 한 줄로 해결되는 것이다.
아래는 우분투 코리아에서 소개하는 스크립트의 일부.

notify-send -i "touchpad" "터치패드" "터치패드를 켰습니다."

아쉽지만 Gnome 스샷은 생략.(쓰질 않으니.. TT_TT )


http://www.ubuntuk.com/의 페르시아님께서 제공해주신 그놈에서의 스샷.
(여러모로 튜닝된 터라 순정(??) 그놈에서는 어떻게 보일지는 모르겠으나 감사할 따름입니다.)


KDE 유저인 나로서는 Gnome의 자세한 사정은 모르겠고
내입장에서 생각하는 각각의 장단점은

kdialog는 패키지 설치가 필요없다는 것이 장점이다.
이는 시스템 재설치 등으로 해당 패키지가 없어졌을 때도 스크립트가 잘 동작한다는 뜻이다.
단점은 사용법이 조금 불편하다는 것이다.
초보입장에서 가장 자주 쓸 법한 passive popup같은 경우에 title같은 옵션을 따로 적어줘야 한다.

notify-send는 거꾸로 kdialog의 장점이 단점이며 단점이 장점이 된다.