홈페이지 » 어떻게 » Linux에서 Zenity를 사용하여 간단한 그래픽 셸 스크립트를 만드는 방법

    Linux에서 Zenity를 사용하여 간단한 그래픽 셸 스크립트를 만드는 방법

    Zenity는 단일 명령으로 쉘 스크립트에 그래픽 인터페이스를 추가합니다. 쉘 스크립트는 반복적 인 작업을 자동화하는 가장 좋은 방법이지만 일반적으로 터미널에만 국한되어 있습니다. Zenity는 터미널에서 데스크탑으로 가져옵니다..

    우리는 과거 쉘 스크립팅에 대해 소개했습니다. 쉘 스크립트를 시작하기 위해 프로그래머가 될 필요는 없습니다. 리눅스 터미널 명령에 대한 지식 만 있으면됩니다..

    Zenity 얻기

    Zenity는 기본적으로 우분투와 함께 제공됩니다. 쿠분투와 같은 우분투 파생물을 사용하는 경우 다음 명령을 사용하여 수동으로 설치해야 할 수 있습니다.

    sudo apt-get install zenity

    Zenity는 그놈의 일부이기 때문에 이미 그놈 데스크탑을 사용하는 Linux 배포판에 포함되어 있어야합니다. 패키지 관리자에게 문의하십시오. 제로 패키지가 없다면.

    Zenity 사용

    터미널에서 Zenity를 가지고 놀 수 있습니다. 쉘 스크립트에 문제가 발생했을 때 오류 창을 생성한다고 가정 해 봅시다. 다음은 사용할 수있는 명령의 예입니다.

    zenity -error -title = "오류가 발생했습니다"-text = "쉘 스크립트를 실행하는 동안 문제가 발생했습니다."

    명령을 실행하면 메시지 창이 나타납니다..

    이 단일 명령을 쉘 스크립트의 올바른 위치에 놓으면 그래픽 오류 메시지가 나타납니다. 변수를 사용하여 오류에 대한 추가 정보를 포함 할 수도 있습니다.

    예 또는 아니오 질문을하고 싶다고 가정 해 봅시다. 다음과 같은 명령을 사용할 수 있습니다 :

    zenity -question -title = "Query"-text = "스크립트를 실행 하시겠습니까?"

    쉘 스크립트에서 예 또는 아니오 응답을 포착하고 사용자가 클릭하는 버튼에 따라 다른 명령을 수행 할 수 있습니다.

    텍스트 입력 대화 상자가 있습니다.

    zenity -entry -title = "즐겨 찾는 웹 사이트"-text = "즐겨 찾는 웹 사이트는 무엇입니까?"

    쉘 스크립트에서 사용자의 입력을 잡아서 변수로 저장할 수 있습니다..

    또한 파일 선택기, 달력 및 기타 유형의 대화 상자가 있습니다. 대화 상자 유형 및 해당 옵션의 전체 목록을 보려면 Zenity의 매뉴얼 페이지를 참조하십시오..

    예제 스크립트

    Zenity를 사용하여 간단한 그래픽 쉘 스크립트를 만들어 봅시다. 세 가지 명령 만 사용하여 그래픽 타이머 프로그램을 만들 수 있습니다.

    #! / bin / bash
    #이 스크립트는 사용자에게 시간을 묻고 지정된 양을 기다립니다.
    시간 #과 경고 대화 상자를 보여줍니다..

    TIME = $ (zenity -entry -title = "Timer"-text = "타이머 시간을 입력하십시오. \ n \ n 5 초 5 분, 10 분 10 분, 2 시간 2 시간 사용하십시오.")

    잠자기 $ TIME

    zenity -info -title = "타이머 완료"-text = "타이머가 끝났습니다. \ n \ n $ TIME되었습니다."

    여기에 몇 가지 추가 트릭이 사용됩니다. 첫 번째 zenity 명령에서 TIME 변수의 값을 가져 와서 sleep 명령에 제공합니다. 우리는 또한 /엔 zenity 대화 상자에 새 텍스트 줄을 만드는 방법.

    쉘 스크립트를 저장하고 chmod + x 명령에 실행 권한을 부여하기 위해 실행할 수 있습니다..

    기간을 입력하면 스크립트가 표준을 사용합니다. 자다 백그라운드에서 카운트 다운하는 명령. sleep 명령의 타이머가 끝나면 스크립트는 zenity info 메시지를 표시합니다.

    이 스크립트에 대한 바탕 화면이나 패널 바로 가기를 만들어 터미널을 건드리지 않고 실행할 수 있습니다.


    이것은 단지 당신이 zenity로 할 수 있었던 것의 표면을 긁는 것입니다; 훨씬 복잡한 프로그램을 만들 때 사용할 수 있습니다. 쉘 스크립팅에 대한 자세한 정보는 쉘 스크립트의 for 루프 사용 안내서를 참조하십시오..