วิธีการพกพามากที่สุดในการเปิดตัวเครื่องจำลองเทอร์มินัลคืออะไร?


14

ว่าฉันต้องเขียนสคริปต์ที่จะเปิดตัว terminal และรันคำสั่งและฉันต้องการที่จะทำงานในระบบต่างๆ ฉันจะทำอย่างปลอดภัยและพกพาได้อย่างไร

มีการxtermติดตั้งเสมอ? ฉันคิดว่า * nix ที่มี GUI ต้องมีเทอร์มินัลอีมูเลเตอร์บ้าง ฉันจะไปถึงได้อย่างไร ระบบเดเบียนมี x-terminal-emulatorแต่ที่เห็นได้ชัดว่าไม่ได้ทำงานใน Red Hat นับประสา non-Linux * nixes


สิ่งนี้อาจทำได้ด้วยexpect
Red Cricket

@ RedCricket expect? อย่างไร? โดยขอให้ผู้ใช้พิมพ์ใน terminal ของพวกเขา?
terdon

.. อยากรู้อยากเห็นทำไมคุณต้องทำเช่นนี้? บางทีเราสามารถแนะนำวิธีแก้ปัญหาแบบอื่นได้
user606723

@ user606723 ความอยากรู้ขั้นพื้นฐานสงสัยว่ามีสิ่งเช่น POSIX หรือ opendesktop ที่กำหนดเทอร์มินัลอีมูเลเตอร์เริ่มต้น (ดูเหมือนว่าคำตอบคือไม่) มาเป็นปฏิกิริยานี้คำถาม SU
terdon

คุณจำเป็นต้องเปิดตัวเทอร์มินัลอีมูเลเตอร์หรือไม่หรือคุณแค่ต้องการรับเชลล์ นั่นเป็นความต้องการที่แตกต่าง
Lie Ryan

คำตอบ:


10

ฉันไม่คิดว่าคุณจะทำได้ xtermไม่จำเป็นต้องติดตั้งทุกที่และแน่นอนอาจไม่ใช่ค่าเริ่มต้น โดยเฉพาะอย่างยิ่งเมื่อมีการใช้งานเดสก์ท็อปในสภาพแวดล้อมที่มีเทอร์มินัลของตนเอง

ผมคิดว่าทางออกที่ดีที่สุดของคุณน่าจะเป็นในการตรวจสอบการดำรงอยู่ของขั้วที่แตกต่างกันไม่กี่คน (พูด, xdg-terminal, x-terminal-emulator, gnome-terminal, konsole, xterm) และอาจนำไปสู่การเพิ่ม xdg-terminal จริง ๆ แล้วเพิ่มเข้ากับมาตรฐาน FreeDesktop.org

จากนั้นคุณจะได้รับที่จะพบว่าขั้วที่แตกต่างกันมีวิธีการที่แตกต่างกันเพื่อเรียกใช้คำสั่งและรุ่นที่แตกต่างกันบางครั้งแม้แต่ของขั้วเดียวกัน ... เช่นดูDebian bug #

คุณควรให้วิธีการตั้งค่าคำสั่งที่กำหนดเองแก่ผู้ดูแลระบบ / ผู้ใช้ด้วย มันจะต้องมีแน่นอน


ใช่คำถามนี้ได้รับการกระตุ้นเตือนจากSU และฉันหวังว่าจะมีวิธีที่ง่ายกว่าการใช้caseงบจำนวนมาก
terdon

1
@terdon ฉันคิดว่าวิธีง่าย ๆ ในการแสดงรายการเทอร์มินัลพึ่งพาแสงค่อนข้างเป็นข้อกำหนดสำหรับสคริปต์จากนั้นก็ใช้มัน
Derobert

หน้าต่างเทอร์มินัลนั้นเคยปรากฏเมื่อฉันวิ่งxinitหรือไม่ ยังไม่ได้ทำในปีที่ผ่านมา แต่ที่เคยโหลดเซิร์ฟเวอร์ X ง่าย ๆ ที่มีxtermหน้าต่างว่างเปล่า(?) ที่คุณสามารถเริ่มเซสชั่นของคุณ นั่นไม่ได้หมายความว่าเทอร์มินัลอีมูเลเตอร์บางตัวติดตั้ง X
terdon

@terdon มันเคยเป็นมา แต่จากนั้นคน xorg ก็แยก X ออกเป็นกลุ่ม ๆ (เทอร์มินัลนั้นอาจ xterm) แต่การตรวจสอบอย่างรวดเร็วแสดงให้เห็นว่าฉันสามารถลบ xterm ออกจากระบบของฉันหากฉันต้องการ
Derobert

@terdon นั่นคือ xterm ตัวจำลอง“ การเริ่มต้น” X terminal แบบดั้งเดิม แต่อาจไม่ได้ติดตั้งเสมอไป IIRC การติดตั้งเริ่มต้นของ Ubuntu นั้นรวมเฉพาะ gnome-terminal, ไม่ใช่ xterm (และสำหรับ Kubuntu ก็จะเป็น konsole, ฯลฯ )
Gilles 'หยุดความชั่วร้าย'

3

ใช่คุณต้องใช้เสื้อคลุม มีหนึ่งที่ดีรวมกับ i3 WM อธิบายที่นี่: http://build.i3wm.org/docs/i3-sensible-terminal.html

เพียงคัดลอกสิ่งนี้ลงในฟังก์ชั่นเชลล์ในสคริปต์ของคุณ: http://code.stapelberg.de/git/i3/tree/i3-sensible-terminal


เป็นการเริ่มต้นที่ดี (+1) แต่ตรวจสอบเทอร์มินัลในจำนวน จำกัด เท่านั้น (และการใช้งานwhichซึ่งเป็นความคิดที่ไม่ดี )
terdon
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.