Saya mencoba menambahkan vte
widget di aplikasi saya dan contoh-contoh yang saya temukan digunakan .fork_command()
untuk menjalankan perintah di widget itu. Namun menurut
http://developer.gnome.org/vte/0.26/VteTerminal.html#vte-terminal-fork-command
itu sudah usang dan dianjurkan untuk digunakan fork_command_full()
. Yang membutuhkan delapan argumen wajib. Bukankah mereka mendengar kata " standar "? Saya dapat membuat garis yang berfungsi:
pty_flags = vte.PtyFlags(0)
terminal.fork_command_full(pty_flags, "/home/int", ("/bin/bash", ), "", 0, None, None)
Ya, saya tahu tentang enum, saya hanya berharap bahwa saya melakukan ini sepenuhnya salah dan ada cara yang lebih mudah. Apakah kamu tahu?
PS Saya menggunakan quickly
dengan ubuntu-application
template default .
PPS Baris impor adalah from gi.repository import Vte as vte
Jawaban:
Berikut contoh dasar:
sumber
Membangun jawaban ADcomp ke alamat yang ingin menambahkannya secara dinamis di masa depan, saya pikir Anda mungkin ingin subkelas Vte.terminal.
sumber
__init__(self, command)
akan lebih baik, saya akan coba ini nanti.Sejak VTE 0.38,
vte_terminal_fork_command_full ()
telah diubah namanya menjadivte_terminal_spawn_sync ()
. Jadi jika Anda menggunakan versi yang lebih baru, Anda harus mengubah jawaban @ ADcomp menjadi yang berikut:sumber