Saya sedang menulis beberapa skrip bash kecil di bawah Ubuntu linux. Saya ingin dapat menjalankannya dari GUI tanpa perlu jendela terminal untuk memasukkan input atau melihat output apa pun.
Sejauh ini, satu-satunya input yang diperlukan adalah kata sandi untuk sudo - dan gksudo menangani itu dengan baik. Tapi saya belum menemukan cara mudah untuk menampilkan kotak pesan. Apakah ada semacam perintah 'gkmessage' yang tersedia? Saya lebih suka sesuatu yang ada di instalasi Ubuntu default, tapi saya tidak keberatan menginstal paket baru jika perlu.
Jawaban:
Saya percaya Zenity akan melakukan apa yang Anda inginkan. Ini dirancang khusus untuk menampilkan dialog GTK dari baris perintah, dan tersedia sebagai paket Ubuntu .
sumber
zenity --help
tidak begitu membantu. Agar ini bermanfaat, Anda perlu memastikan bahwa Anda menetapkan--text=My text here
untuk membuatnya menampilkan sesuatu ...zenity --info --text="Calculation complete"
zenity --help-all
..xinitrc
saat memulaixorg
server saya . Kalau tidak, kesalahannya akan transparan. Saya juga lebih suka inizenity
lebihkdialog
karena KDE tidak mulai belum dan GTK libs lebih ringan.Jika Anda menggunakan banyak distro di
Ubuntu,notify-send
perintah akan membuang salah satu notifikasi yang mudah rusak di sudut kanan atas. Seperti itu:notify-send "My name is bash and I rock da house"
Cantik!
sumber
libnotify-bin
paket berisinotify-send
biner. Gnome3 tampaknya tidak membutuhkannotify-osd
tetapi saya kira lingkungan desktop lain mungkin mensyaratkan bahwa selainlibnotify-bin
Semua orang menyebutkan keheningan, sepertinya ada banyak yang lain. Daftar campuran tetapi menarik ada di http://alternativeto.net/software/zenity/
Pertama, contoh zenity yang menampilkan markup pemformatan teks, judul jendela, label tombol.
gxmessage
xpesan
xmessage
sudah sangat tua sehingga sangat stabil dan mungkin tersedia di semua distribusi yang menggunakan X (karena didistribusikan dengan X). Ia dapat dikustomisasi melalui sumber daya X, bagi mereka yang telah menggunakan Linux atau Unix cukup lama untuk mengetahui apa artinya (.Xdefaults
, siapa saja?).kdialog
(tidak diuji)
Dalam PPA
YAD: Zenity On Steroid [Tampilkan Dialog Grafis Dari Shell Scripts] ~ Web Upd8: blog Ubuntu / Linux . Tampaknya tidak dialog ukuran otomatis.
Contoh yang lebih besar
Yang lain tidak dalam repositori standar Ubuntu
Di luar topik (untuk terminal)
Jangan ragu untuk mengedit.
sumber
--infobox
memiliki tampilan bug lama dengan xterm (gnome-terminal)whiptail --infobox
(yang tidak berfungsi dengan baik pada terminal yang mendukung layar alternatif) kembali tanpa menunggu input pengguna, sementarawhiptail --msgbox
(yang berfungsi) menunggu konfirmasi pengguna sebelum keluar.The zenity muncul aplikasi untuk menjadi apa yang Anda cari.
Untuk mengambil input dari zenity , Anda dapat menentukan variabel dan memiliki output dari zenity --poin disimpan ke dalamnya. Itu terlihat seperti ini:
Jika Anda melihat nilai dalam my_variable sekarang, itu akan menjadi apa pun yang diketik dalam dialog entri pop up zenity.
Jika Anda ingin memberikan semacam prompt tentang apa yang harus dimasukkan pengguna (atau Anda) dalam dialog, tambahkan saklar --text dengan label yang Anda inginkan. Itu terlihat seperti ini:
Zenity memiliki banyak opsi bagus lain untuk tugas tertentu, jadi Anda mungkin ingin memeriksanya juga dengan zenity --help . Salah satu contoh adalah opsi --calendar yang memungkinkan Anda memilih tanggal dari kalender grafis.
Yang memberikan tanggal yang diformat dengan baik berdasarkan apa yang diklik pengguna:
memberi:
Ada juga opsi untuk pemilih slider, kesalahan, daftar dan sebagainya.
Semoga ini membantu.
sumber
zentity
terlihat keren. Namun itu bukan bagian dari Ubuntu 12,04, jadi sayagxmessage
malah menggunakannya.Saya menemukan perintah xmessage , yang cukup baik.
sumber
Berikut ini adalah skrip Tcl kecil yang akan melakukan apa yang Anda inginkan. Interpreter Wish harus diinstal secara default di Ubuntu.
Sebut saja seperti ini:
sumber
alert
dannotify-send
sepertinya hal yang sama. Saya menggunakannotify-send
untuk pesan non-input karena tidak mencuri fokus dan saya tidak dapat menemukan cara untuk menghentikan zenity dll dari melakukan ini.misalnya
sumber
Ada juga
dialog
versi dan KDEkdialog
.dialog
digunakan oleh slackware, jadi mungkin tidak segera tersedia di distribusi lain.sumber
jika tidak ada lagi yang hadir. Anda dapat meluncurkan xterm dan gema di dalamnya, seperti ini:
sumber
Bagaimana dengan peringatan Ubuntu . Hal ini dapat digunakan setelah operasi apa pun untuk mengingatkannya selesai dan bahkan menunjukkan ikon palang merah jika operasi selesai dengan kesalahan
sumber
Zenity benar-benar alat yang tepat yang saya pikir Anda cari.
atau
sumber
Kdialog dan dialog keduanya bagus, tapi saya akan merekomendasikan Zenity. Cepat, mudah, dan jauh lebih baik mencari xmessage atau dialog.
sumber
Contoh bash script untuk menggunakan Gambas GTK / QT Controls (GUI Objects): Gambas IDE dapat digunakan untuk merancang bahkan GUI besar dan bertindak sebagai server GUI. Contoh eksploitasi dapat diunduh dari Gambas App store.
https://gambas.one/gambasfarm/?id=823&action=search
sumber