Zenity - Erstellt grafesch (GTK+) Dialogboxen a Kommandozeilen a Shell Scripten


GNU Linux, de Betribssystem gebaut op ganz mächtege Kernel genannt Linux. Linux ass berühmt fir seng Command Line Operatiounen. Mat der Erfindung vu Linux am alldeeglechen an Desktop Computing, bleift nix net méi biased Richtung Kommando-Linn, et ass gläich Grafik an Entwécklung Grafik Applikatioun bleift net méi eng schwiereg Aufgab.

Hei an dësem Artikel wäerte mir iwwer d'Schafung an d'Ausféierung vun enger einfacher Grafik Dialogbox diskutéieren mat der GTK + Applikatioun mam Numm Zenity.

Wat ass Zenity?

Zenity ass eng Open Source an eng Cross-Plattform Applikatioun déi GTK + Dialog Boxen op Kommandozeil weist a Shell Scripte benotzt. Et erlaabt d'Informatioun ze froen an ze presentéieren op/vu Shell a Grafike Boxen. D'Applikatioun léisst Iech grafesch Dialogboxen op Kommandozeil erstellen a mécht d'Interaktioun tëscht Benotzer a Shell ganz einfach.

Et ginn aner Alternativen, awer näischt vergläicht mat der Einfachheet vun Zenity, besonnesch wann Dir keng komplex Programméierung braucht. Zenity, e Tool op deem Dir Är Hänn muss hunn.

  1. FOSS Software
  2. Kräizplattform Applikatioun
  3. Erlaabt GTK+ Dialogbox Ausféierung
  4. Command Line Tool
  5. Support am Shell Scripting

  1. Einfach GUI Kreatioun
  2. Manner Funktiounen wéi aner komplex Tools
  3. Erméiglecht Shell Scripte fir mat engem GUI Benotzer ze interagéieren
  4. Einfach Dialog erstellen ass méiglech fir grafesch Benotzerinteraktioun

Zënter Zenity ass verfügbar fir all bekannte grouss Plattformen, a baséiert op GTK + Bibliothéik, Zenity Programm kann op/vun enger anerer Plattform portéiert ginn.

Installatioun vun Zenity op Linux

Zentity ass par défaut installéiert oder verfügbar am Repository vun de meeschte Standard Linux Verdeelung vun haut. Dir kënnt kontrolléieren ob op Ärer Maschinn installéiert ass oder net andeems Dir folgend Kommandoen ausféiert.

[email :~$ zenity --version 

3.8.0
[email :~$ whereis zenity 

zenity: /usr/bin/zenity /usr/bin/X11/zenity /usr/share/zenity /usr/share/man/man1/zenity.1.gz

Wann et net installéiert ass, kënnt Dir se mat Apt oder Yum Kommando installéieren wéi hei ënnendrënner.

[email :~$ sudo apt-get install zenity		[on Debian based systems]

[email :~# yum install zenity				[on RedHat based systems]

Ausserdeem kënnt Dir et och aus de Quelldateien bauen, de leschten Zenity Source Package eroflueden (dh aktuell Versioun 3.8) mat engem folgende Link.

  1. http://ftp.gnome.org/pub/gnome/sources/zenity/

Zenity Basic Dialogboxen

E puer vun de Basisdialogen vun Zenity, déi direkt vun der Kommandozeil opgeruff kënne ginn.

[email :~# zenity --calendar
[email :~# zenity --error
[email :~# zenity --entry
[email :~# zenity --info
[email :~# zenity --question
[email :~# zenity --progress
[email :~# zenity --scale
[email :~# zenity --password
[email :~# zenity --forms
[email :~# zenity --about

Schafen Shell Script Dialog

Elo wäerte mir iwwer d'Zenity Dialog Schafung diskutéieren mat einfach Shell Scripten hei. Och wa mir een eenzegen Dialog kënne kreéieren andeems Dir Zenity Kommandoen direkt aus der Shell ausféiert (wéi mir hei uewen gemaach hunn), awer da kënne mir zwee Dialogboxen net verbannen fir e sënnvoll Resultat ze kréien.

Wéi wier et mat enger interaktiver Dialogbox déi Input vun Iech hëlt an d'Resultat weist.

#!/bin/bash 
first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry) 
zenity --info --title="Welcome" --text="Mr./Ms. $first" 
last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry) 
zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"

Späichert et op 'anything.sh' (konventionell) a vergiesst net et ausféierbar ze maachen. Set 755 Erlaabnis op anything.sh Fichier a lafen de Skript.

[email :~# chmod 755 anything.sh 
[email :~# sh anything.sh

De konventionelle Shebang aka hashbang

#!/bin/bash

An der ënneschter Linn 'éischt' ass eng Variabel an de Wäert vun der Variabel gëtt bei der Lafzäit generéiert.

    1. '–Entry' heescht datt d'Zenitéit gefrot gëtt fir en Text Entry Box ze generéieren.
    2. ‘– title=‘ definéiert den Titel vun der generéierter Textbox.
    3. ‘—text=‘ definéiert den Text deen am Text Entry Box verfügbar ass.

    first=$(zenity --title="Your's First Name" --text "What is your first name?" --entry)

    Dës Zeil vun der ënnendrënner Skriptdatei ass fir d'Generatioun vun Informatioun (–Info) Dialogbox, mam Titel Welcome an Text Mr./Ms.first

    zenity --info --title="Welcome" --text="Mr./Ms. $first"

    Dës Linn vum Skript ass Ähnlech wéi d'Linn Nummer zwee vum Skript ausser hei ass eng nei Variabel 'lescht' definéiert.

    last=$(zenity --title="Your's Last Name" --text "$first what is your last name?" --entry)

    Dës lescht Zeil vum Skript ass erëm ähnlech wéi déi drëtt Zeil vum Skript an et generéiert Informatioun Dialogbox déi souwuel d'Variabelen '$first' an '$last' enthält.

    zenity --info --title="Nice Meeting You" --text="Mr./Ms. $first $last"

    Fir méi Informatioun iwwer wéi Dir personaliséiert Dialogboxen mat Shellskript erstellt, besicht op der folgender Referenz Säit Zenity.

    1. https://help.gnome.org/users/zenity/stable/

    Am nächsten Artikel wäerte mir Zenity mat méi Shell Skript fir GUI Benotzer Interaktioun integréieren. Bis dann bleift ofgeschloss a verbonne mat Tecmint. Vergiesst net Äre wäertvolle Feedback an der Kommentarsektioun ze ginn.