หลังจากอัปเกรดเป็นไม่ฝักใฝ่ฝ่ายใดฉันได้ตั้งค่าตัวแปร TERM ของฉันเป็น 'ใบ้' สิ่งนี้ไม่ได้เกิดขึ้นกับ dir บ้านเดิมที่รันจาก Lucid และฉันไม่ได้เปลี่ยนอะไรที่เกี่ยวข้องกับ TERM ด้วยตนเอง
แนวคิดใดที่จะตั้งค่าตัวแปร TERM
หลังจากอัปเกรดเป็นไม่ฝักใฝ่ฝ่ายใดฉันได้ตั้งค่าตัวแปร TERM ของฉันเป็น 'ใบ้' สิ่งนี้ไม่ได้เกิดขึ้นกับ dir บ้านเดิมที่รันจาก Lucid และฉันไม่ได้เปลี่ยนอะไรที่เกี่ยวข้องกับ TERM ด้วยตนเอง
แนวคิดใดที่จะตั้งค่าตัวแปร TERM
คำตอบ:
หากต้องการอธิบายอย่างละเอียดเกี่ยวกับสิ่งที่ Gilles พูดสมมติว่าคุณกำลังเชื่อมต่อระยะไกลกับอูบุนตูจาก Windows โดยใช้ Putty
ในตัวเลือกการกำหนดค่าแบบพุตภายใต้การเชื่อมต่อ -> ข้อมูลมีการตั้งค่าที่เรียกว่าสตริงประเภทเทอร์มินัล คุณสามารถตั้งค่า TERM ของคุณที่นั่นและโป๊วแนะนำให้ SSH เพื่อตั้งค่าตัวแปรสภาพแวดล้อมนั้น เมื่อถึงจุดหนึ่งหลังจากนั้นเชลล์ของคุณจะถูกดำเนินการอาจเป็น / bin / bash และได้รับสภาพแวดล้อมจากกระบวนการหลักอาจเป็นกระบวนการ sshd
เช่นเดียวกันถือเป็นจริงถ้าคุณ ssh จากกล่องลินุกซ์ระยะไกลเพียงว่าตัวแปรสภาพแวดล้อมในท้องถิ่นจะถูกส่งผ่านผ่าน ssh ไปยังการเชื่อมต่อระยะไกล
ในกรณีของเทอร์มินัลอีมูเลเตอร์มันเป็นงานของเทอร์มินัลอีมูเลเตอร์เพื่อตั้งค่าตัวแปรสภาพแวดล้อม TERM เช่น getty ตั้ง TERM เป็น "linux" และส้อมกระบวนการเชลล์ (/ bin / bash) หรือ gnome-terminal ตั้งค่า TERM เป็น "xterm" และส้อมกระบวนการเชลล์
ที่จะตอบคำถามของคุณอย่างแท้จริงที่จำลอง terminal ควรจะชุด$TERM
.¹
เพื่อแก้ปัญหาของคุณอย่างน้อยต้องรู้ว่าเทอร์มินัลอีมูเลเตอร์ใดที่คุณใช้ มันอาจจะเป็นข้อผิดพลาดหรือการกำหนดค่าในจำลอง terminal หรือมีปัญหากับเปลือกของคุณเริ่มต้นไฟล์ (อาจจะ~/.bashrc
แต่อาจเป็นไปได้~/.bash_profile
, /etc/bashrc
, /etc/profile
, ... )
¹ สมมติว่าคุณไม่ได้ใช้เทอร์มินัลฮาร์ดแวร์ แล้วมันจะเป็นอาร์กิวเมนต์ที่getty
เรียกจากinittab
(รุ่นเก่าโดยใช้ SysVinit) หรือ/etc/init/tty*.conf
(Ubuntu ≥9.10ใช้ Upstart)
หากคุณต้องการเปลี่ยนเครื่องตรวจสอบให้แน่ใจว่าคุณได้ตรวจสอบฟังก์ชั่นการอัพเดททางเลือก
ตัวอย่างเช่น
update-alternatives --config x-terminal-emulator
ตัวเลือกเริ่มต้นของระบบที่หลากหลายใน Ubuntu ตั้งค่าด้วยวิธีนี้ อีกอันที่พบได้ทั่วไปคือ www-browser
update-alternatives --config x-www-browser