คำถามติดแท็ก tty

การแสดงอุปกรณ์ที่ส่งและรับข้อมูลอนุกรมแบบอะซิงโครนัส

1
วิธีการอ่าน / เขียนไปยังอุปกรณ์ tty *
ฉันมีอุปกรณ์ที่ส่งข้อมูลผ่าน USB ไปยังคอมพิวเตอร์ของฉัน Arch Linux ตั้งค่าอุปกรณ์นี้โดยการสร้างไฟล์ชื่อในttyUSB0 /dev/ฉันใช้GTKtermเพื่อรับข้อมูลขาเข้านี้และแสดงในหน้าต่างเทอร์มินัลที่จำลอง คำถามของฉันคือจะGTKtermอ่าน / เขียนttyUSB0ไฟล์นี้ได้อย่างไรและฉันจะเริ่มเรียนรู้วิธีการใช้ฟังก์ชันการทำงานที่คล้ายกันได้อย่างไร นั่นคือในรูปแบบพื้นฐานที่สุดฉันจะเขียนอักขระttyUSB0อย่างไรหรือในทางตรงกันข้ามจะได้รับไบต์และเขียนลงในไฟล์ได้อย่างไร
29 usb  tty 

3
วิธีสลับระหว่างเซสชัน tty และ xorg
เซสชัน xorg ของฉันอยู่บน tty1 และหากฉันต้องการออกคำสั่งจาก tty (เพราะฉันไม่สามารถทำได้จากเซสชัน xorg ด้วยเหตุผลบางประการ) ฉันกดCtrl+ Alt+ F2ตัวอย่างเช่นและพิมพ์คำสั่ง แต่ฉันไม่สามารถเริ่มต้นแอปพลิเคชันกราฟิกจาก tty ใด ๆ ยกเว้นครั้งแรกเนื่องจากไม่มีเซสชัน xorg อยู่ในนั้น ถ้าอย่างนั้นฉันอยากรู้ว่าฉันจะเปลี่ยนไปใช้ tty1 ได้อย่างไรที่เซสชัน xorg ทำงานและกลับไปที่เซสชัน
28 linux  xorg  tty 

5
วิธีรับ tty ที่ bash ทำงานอยู่?
ในวิธีที่สองที่เสนอโดยหน้านี้วิธีหนึ่งได้รับ tty ซึ่ง bash กำลังถูกรันด้วยคำสั่ง: ps ax | grep $$ | awk '{ print $2 }' ฉันคิดกับตัวเองว่านี่เป็นสิ่งที่ขี้เกียจนิดหน่อยโดยแสดงรายการกระบวนการทำงานทั้งหมดเพื่อดึงข้อมูลหนึ่ง มันจะไม่มีประสิทธิภาพมากกว่านี้หรือไม่ ps -p $$ | tail -n 1 | awk '{ print $2 }' FYI ฉันเจอปัญหานี้เพราะบางครั้งคำสั่งแรกจะให้ผลลัพธ์สองบรรทัด (หรือมากกว่า) สิ่งนี้จะเกิดขึ้นแบบสุ่มเมื่อจะมีกระบวนการอื่นทำงานด้วย PID ที่มี$$เป็นสตริงย่อย ในแนวทางที่สองฉันกำลังหลีกเลี่ยงกรณีดังกล่าวโดยขอ PID ที่ฉันรู้ว่าฉันต้องการ
24 bash  tty  ps 

1
อะไรคือ scrollback และ scrollback buffer?
อะไรคือ "scrollback" และ "scrollback บัฟเฟอร์" ในโปรแกรมเช่นbashและscreenและวิธีการทำพวกเขาเกี่ยวข้องกับ TTY ที่โปรแกรมถูกเรียกใช้และ stdin / stdout / stderr? นี่คือคำจำกัดความเดียวของ "scrollback" ที่ฉันพบจนถึงตอนนี้ (ในarchlinux wiki ): Scrollback เป็นฟังก์ชั่นที่นำมาใช้ในคอนโซลข้อความเพื่อให้ผู้ใช้กลับไปดูบรรทัดข้อความที่เลื่อนออกจากหน้าจอ สิ่งนี้เกิดขึ้นได้โดยบัฟเฟอร์ที่สร้างขึ้นสำหรับวัตถุประสงค์นี้ระหว่างอะแดปเตอร์วิดีโอและอุปกรณ์แสดงผลเท่านั้น บัฟเฟอร์ scrollback แต่นี่ทำให้เกิดคำถามเพิ่มเติมสำหรับฉัน: มันหมายความว่า "ฟังก์ชั่น" ใน "subroutine" หรือใน "คุณสมบัติ"? มีมาตรฐาน Unix หรือ API สำหรับบัฟเฟอร์การเลื่อนนี้หรือไม่? ใน "สแต็ค" ของโปรแกรมเช่นvimเปิดตัวในscreenเปิดตัวในbashเปิดตัวในsshเปิดตัวเทอร์มินัลอีมูเลเตอร์โปรแกรมใดบ้างที่ควบคุมการเลื่อนบัฟเฟอร์? ฉันยังใช้screenในการถ่ายโอนข้อมูล scrollback ไปยังแฟ้ม ไฟล์นี้มีพื้นที่สีขาวจำนวนมากที่ด้านบนและดูเหมือนว่า "มุมมอง" ตัวจำลองเทอร์มินัลของฉันแสดงให้ฉันเห็นว่าเป็นเพียงไม่กี่บรรทัดด้านล่างของบัฟเฟอร์ นี่เป็นสาเหตุที่โปรแกรมอย่างเช่นvim"ล้าง" หน้าต่างเทอร์มินัลทั้งหมดของฉันเพราะได้รับการเข้าถึงชั่วคราวกับบัฟเฟอร์การเลื่อนกลับของพาเรนต์เชลล์หรือไม่? หรือไม่vimใช้ buffer scrollback …

2
สามารถแทนที่ช่องว่าง / พื้นหลังในเทอร์มินัลด้วยรูปแบบแบบสุ่ม (แต่สวย) ของอักขระ ASCII ได้หรือไม่?
บริบทและคำถาม มีหลายวิธีในการปรับสีเทอร์มินัลและสภาพแวดล้อมเชลล์ เอาต์พุตของคำสั่งแต่ละคำสั่งเช่นlsและgrepยังสามารถทำให้เป็นสี ไม่เกี่ยวข้องโดยตรง แต่ที่น่าสนใจอย่างไรก็ตามความคิดของการเล่นสื่อที่คอนโซลแต่ดูเหมือนจะอาศัยกรอบ (ห้องสมุด) บางส่วนที่ด้านบนของระบบหน้าต่าง คำถามต่อไปนี้มุ่งที่bashเชลล์เท่านั้นและการนำไปใช้ในกรอบงานเทอร์มินัล Linux และการสนับสนุน โปรดพิจารณาการตัดต่อ ASCII ของ "การเรนเดอร์" ของฉากหนึ่งในเกม 2D : นี่ไม่ใช่ฉากที่สร้างแบบสุ่ม กลุ่มที่ฉันเลือกทั้งหมดแสดงให้เห็นถึงรูปแบบของภูมิประเทศ "ทุ่งหญ้า" (ต้นไม้พุ่มไม้และพุ่มไม้ดอกไม้หญ้า ฯลฯ ) จากเกมที่ใช้อักขระ ASCII เพื่อเป็นตัวแทนวัตถุดังกล่าว 4 ฉากสุดท้ายที่ผู้ใช้แสดงสร้างชุดไพ่เรียงซึ่งโดยทั่วไปแล้วเป็นตัวละคร ASCII ที่มีสเปคสี (รายละเอียดดังกล่าวไม่สำคัญ - ก็เพียงพอแล้วที่จะบอกว่านี่เป็นแรงบันดาลใจทางสายตาสำหรับสิ่งที่ฉันพยายามทำให้สำเร็จในแง่ภาพและ " รูปแบบ ") คุณสมบัติทั่วไปฉากเหล่านั้นในการตัดต่อแบ่งปันคือ: มากที่สุด 5-6 ตัวอักษร ASCII ที่แตกต่างกัน (เครื่องหมายจุลภาค, เครื่องหมายคำพูดและอื่น ๆ ) ใช้ 2-4 สี สำหรับตัวละคร …
23 bash  terminal  colors  tty 

2
ตั้งค่าความเร็ว baud สำหรับ tty
ฉันจะตั้งค่าความเร็ว baud สำหรับ tty ที่เฉพาะเจาะจงได้อย่างไร (ในกรณีนี้คือพอร์ตอนุกรม) ฉันพยายามใช้ stty -F /dev/tty.iap ispeed 19200 แต่รับข้อผิดพลาดInvalid argumentทุกครั้งที่ฉันลอง (2400, 4800 ฯลฯ ) ยกเว้น 9600 (ค่าเริ่มต้น) ผมประสบความสำเร็จสามารถเปลี่ยนความเร็วในโปรแกรม C cfsetspeedใช้ ฉันจำเป็นต้องทำการเปลี่ยนแปลงที่อื่นเช่นttysไฟล์หรือไม่

2
ทำไม awk ทำบัฟเฟอร์เต็มเมื่ออ่านจากไปป์
ฉันกำลังอ่านจากพอร์ตอนุกรมที่เชื่อมต่อกับอุปกรณ์ gps ส่งสตริง nmea การร้องขอที่เรียบง่ายเพื่อแสดงจุดของฉัน: $ awk '{ print $0 }' /dev/ttyPSC9 GPGGA,073651.000,6310.1043,N,01436.1539,E,1,07,1.0,340.2,M,33.3,M,,0000*56 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 $GPRMC,073651.000,A,6310.1043,N,01436.1539,E,0.42,163.42,070312,,,A*67 GPGGA,073652.000,6310.1043,N,01436.1540,E,1,07,1.0,339.2,M,33.3,M,,0000*55 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 ถ้าฉันลองอ่านจากไปป์ให้ awk บัฟเฟอร์อินพุตก่อนที่จะส่งไปยัง stdout $ cat /dev/ttyPSC9 | awk '{ print $0 }' <long pause> GPGGA,073651.000,6310.1043,N,01436.1539,E,1,07,1.0,340.2,M,33.3,M,,0000*56 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 $GPRMC,073651.000,A,6310.1043,N,01436.1539,E,0.42,163.42,070312,,,A*67 GPGGA,073652.000,6310.1043,N,01436.1540,E,1,07,1.0,339.2,M,33.3,M,,0000*55 $GPGSA,A,3,28,22,09,27,01,19,17,,,,,,2.3,1.0,2.0*39 ฉันจะหลีกเลี่ยงการบัฟเฟอร์ได้อย่างไร แก้ไข : Kyle Jones แนะนำว่าแมวกำลังบัฟเฟอร์มันเป็นเอาต์พุต แต่ดูเหมือนจะไม่เกิดขึ้น: $ strace cat /dev/ttyPSC9 | awk …
23 awk  tty  serial-port 

5
รับ ssh เพื่อส่งต่อสัญญาณ
ฉันต้องการที่จะสามารถส่งสัญญาณ (SIGINT เป็นสิ่งสำคัญที่สุด) ผ่าน ssh คำสั่งนี้: ssh server "sleep 1000;echo f" > foo จะเริ่ม sleep บนเซิร์ฟเวอร์และหลังจาก 1,000 วินาทีมันจะใส่ 'f \ n' ในไฟล์ foo บนเครื่องของฉัน ถ้าฉันกด CTRL-C (เช่นส่ง SIGINT ไปยัง ssh) มันจะฆ่า ssh แต่จะไม่ฆ่า sleep บนเซิร์ฟเวอร์ระยะไกล ฉันต้องการที่จะฆ่า sleep บนเซิร์ฟเวอร์ระยะไกล ดังนั้นฉันจึงพยายาม: ssh server -t "sleep 1000;echo f" > foo แต่ถ้า stdin ไม่ใช่เทอร์มินัลฉันได้รับข้อผิดพลาดนี้: …
22 ssh  remote  tty  signals 

9
วิธีหยุดเคอร์เซอร์ไม่ให้กะพริบ
ฉันจะทำให้เคอร์เซอร์หยุดblinkingเมื่ออยู่ในTTY ได้อย่างไร (หรือที่อื่น ๆ ) คะแนนโบนัสสำหรับการตั้งค่าสากลหนึ่งรายการที่หยุดเคอร์เซอร์กะพริบเกือบทุกที่
22 tty 

4
Rebinding / ปิดการใช้งาน CTRL + ALT + F # การสลับเทอร์มินัลเสมือน / คอนโซล
ฉันมีแอปพลิเคชันที่ผูกCTRL+ ALT+ F7แต่เครื่อง linux ของฉันดูเหมือนจะจับการกดแป้น มีวิธีในการผูกใหม่ / ปิดใช้งานคีย์นี้หรือไม่ การคอมไพล์ซ้ำของเคอร์เนลเป็นคำตอบที่ยอมรับได้ การแจกแจงในคำถามคือ Fedora 16 และ Ubuntu 11.10

2
หน้าจอ GNU ตัวละครแปลก ๆ เมื่อคลิก
ฉันมีปัญหาเล็กน้อยในหน้าจอ GNU เซสชั่นหน้าจอ GNU ทำงานบน RaspberryPi ของฉัน ตอนนี้บางครั้งเมื่อฉันเข้าร่วมถ้าฉันคลิกใน terminal (ฉันใช้ terminator ใน Fedora) ฉันเห็นตัวอักษรแปลก ๆ เขียน ตัวละครเหล่านี้ขึ้นอยู่กับพิกัดของเม้าส์ของฉัน ... ดูเหมือนว่าการถอดรหัสเหตุการณ์การคลิกที่ส่งผิดไปยังหน้าจอ GNU ตัวละครเหล่านี้รวมถึงสิ่งต่าง ๆ เช่น kM#kM - Z3#Z3 - q-#q- ฯลฯ ... ฉันแรกคิดว่ามันเป็นปัญหาของฉันttyดังนั้นฉันไปและเปิดเซสชัน GNU Screen ใหม่บน RaspberryPi ของฉัน: ไม่มีปัญหาเลย ฉันทำstty -aทั้งสองครั้งและเห็นว่ามีความแตกต่าง จากนั้นฉันได้ทำ stty -g > ~/stty-good-settingsในเซสชั่นที่ดีและโหลดในเซสชั่นที่ไม่ดีด้วยstty `cat ~/stty-good-settings`(ฉันเปรียบเทียบค่าหลังจากนั้นการตั้งค่าถูกโหลดสำเร็จ) แต่ฉันยังคงมีปัญหาในหนึ่งในเซสชั่นหน้าจอและอื่น ๆ ! ฉันไม่แน่ใจว่าเกิดอะไรขึ้นถ้านี่เป็นเพราะTERMค่าของฉัน(เหมือนกันทั้งคู่) …
21 gnu-screen  tty  xterm 

4
ทำไมคอนโซลเสมือนของฉันจึงว่างเปล่าทั้งหมด?
เมื่อฉันไปจากเซสชันกราฟิกของฉันไปที่คอนโซลเสมือนโดยCtrl+ Alt+ F i(กับฉันใน 1 - 7 และ 9-12) ฉันเห็นหน้าจอสีดำสนิท เฉพาะใน F8 ฉันเห็น GUI ไม่แม้แต่กระพริบตาบนอื่น ๆ เมื่อฉันป้อนอะไรฉันไม่เห็นอะไรเลย ปัญหาคืออะไรและฉันจะแก้ไขได้อย่างไร ระบบของฉัน $ uname -a Linux pc09 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/issue Linux Mint 17 Qiana \n \l $ lspci | grep …
19 tty 


2
วิธีรันบิลด์ในคอนเทนเนอร์ Docker จาก Jenkins
ฉันพยายามใช้ Jenkins เพื่อสร้างโครงการ C ++ ในคอนเทนเนอร์ Docker ฉันไม่มีปัญหาในการสร้างเจนกินส์หรือสร้างในภาชนะนอกเจนกินส์ ด้านล่างเป็นสิ่งที่ฉันพยายาม ฉันกำลังข้ามการทำแผนที่ปริมาณเพื่อความชัดเจน กรณีที่ 1 คำสั่งต่อไปนี้รันบิลด์ในเชลล์ได้สำเร็จ docker run --rm --interactive=true --tty=true $IMAGE make อย่างไรก็ตามเมื่อทำงานใน Jenkins เป็นขั้นตอน "execute shell" Docker จะส่งคืนข้อผิดพลาดต่อไปนี้ cannot enable tty mode on non tty input กรณีที่ 2 คำสั่งต่อไปนี้คล้ายกับคำสั่งก่อนหน้า แต่ปิดใช้งานการโต้ตอบ docker run --rm $IMAGE make เจนกินส์สามารถเรียกใช้งานบิลด์ได้สำเร็จ อย่างไรก็ตามมีปัญหาร้ายแรงเมื่อยกเลิกการสร้าง บิลด์จะถูกทำเครื่องหมายทันทีว่าถูกยกเลิก แต่คอนเทนเนอร์ยังคงทำงานอยู่จนกว่าบิลด์จะเสร็จสิ้น นอกจากนี้ภาชนะจะไม่ถูกลบออกหลังจากออกจาก เมื่อรันในเชลล์คำสั่งจะสร้างสำเร็จ …
18 tty  docker  pty  jenkins 

1
TTY บนจอภาพภายนอก
เมื่อใช้แล็ปท็อปที่บ้านฉันมักจะใช้จอภาพภายนอกแป้นพิมพ์และเมาส์กับหน้าจอแล็ปท็อปของฉันเป็นจอภาพที่สอง ทั้งหมดนี้ได้รับการกำหนดค่าอย่างง่ายดายโดยใช้โปรแกรมอรรถประโยชน์ GNOME ที่ดีที่ฉันถือว่าใช้ xrandr ในส่วนแบ็คเอนด์ บางครั้งฉันสนุกกับการใช้คอมพิวเตอร์ผ่าน TTY ฉันอยากจะสลับไปใช้ TTY1 (โดยใช้ ctrl + alt + f1) และให้ tty ปรากฏบนจอภาพภายนอกของฉันตามความละเอียดของจอภาพภายนอกของฉัน แต่มันมักจะปรากฏบนหน้าจอแล็ปท็อปของฉันหรือบนหน้าจอทั้งสอง แต่ที่ความละเอียดของหน้าจอแล็ปท็อปของฉัน มีวิธีทำสิ่งนี้ต่อเนื่องบน Ubuntu 10.10 หรือไม่ (ฉันเดาว่ามันไม่สำคัญ แต่ฉันได้ตั้งค่าไว้เพื่อให้หน้าจอเปิดอัตโนมัติจาก~/.profile)

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