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

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

2
วิธีเปลี่ยนพรอมต์ล็อกอิน tty
เพื่อความชัดเจนฉันไม่ได้อ้างถึง/etc/issue(แสดงก่อนหน้าพรอมต์) หรือ/etc/motd(แสดงหลังเข้าสู่ระบบ) แต่เป็นพรอมต์ซึ่งขณะนี้ hostname login: สำหรับการวัดที่ดีฉันใช้ Arch Linux แต่ฉันเชื่อว่าคำตอบน่าจะเป็นแบบไขว้
12 terminal  login  prompt  tty 

4
คำสั่ง ls ทำงานแตกต่างกันไปขึ้นอยู่กับผู้รับ
คำสั่งเหมือนlsรู้ว่า stdout มันคืออะไร? ดูเหมือนว่าlsจะทำงานแตกต่างกันไปขึ้นอยู่กับว่า stdout เป้าหมายคืออะไร เช่นถ้าฉัน: ls /home/matt/tmp ผลลัพธ์คือ: a.txt b.txt c.txt อย่างไรก็ตามถ้าฉันทำ ls /home/matt/tmp | cat ผลลัพธ์คือ (เช่นบรรทัดใหม่ต่อผลลัพธ์): a.txt b.txt c.txt กระบวนการผ่านไฟล์ descriptor 1 สำหรับ stdout ใช่ไหม? มันกำหนดวิธีการจัดรูปแบบผลลัพธ์ได้อย่างไร ตัวอธิบายไฟล์เปิดเผยข้อมูลหรือไม่

1
'อะไร' ตัวแทนภายใต้ TTY
หากคุณใช้งานpsในเครื่องเทอร์มินัลคุณอาจเห็นสิ่งต่อไปนี้: คือ?อะไร ฉันSSH 'ไอเอ็นจีลงในเซิร์ฟเวอร์ Linux ดังนั้นฉันคิดว่ามันเป็นเพียงsshdตามที่กล่าวภายใต้CMDแต่ฉันอยากรู้ว่าสิ่งที่?จะพิจารณามีpts/1เพื่อเป็นตัวแทนเช่นสถานีของฉัน
12 ssh  process  tty  ps 

1
Bash พยายามเขียน prompt สองตัวหรือไม่
ฉันกำลังดูผลลัพธ์ strace ของกระบวนการทุบตีทำงานที่เชื่อมต่อกับเทอร์มินัลเพื่อการศึกษา กระบวนการทุบตีของฉันมี PID 2883 ฉันพิมพ์ [OP@localhost ~]$ strace -e trace=openat,read,write,fork,vfork,clone,execve -p 2883 2> bash.strace เข้าสู่อาคารผู้โดยสาร จากนั้นฉันก็เข้าสู่กระบวนการทุบตีของฉันและมีปฏิสัมพันธ์ต่อไปนี้: [OP@localhost ~]$ ls ฉันมองเห็นผลลัพธ์ strace: Process 2883 attached read(0, "l", 1) = 1 write(2, "l", 1) = 1 read(0, "s", 1) = 1 write(2, "s", 1) = 1 read(0, "\r", 1) = …
11 bash  tty  strace 

1
เหตุใดจึงสามารถใช้คำสั่งเดียวกันสร้างเอาต์พุตมากขึ้นใน tty มากกว่าใน pts / gnome-terminal
gnome ขั้ว: $ sudo update-grub [sudo] password for user: Generating grub configuration file ... Found background image: .background_cache.png Found linux image: /boot/vmlinuz-3.16.0-4-amd64 Found initrd image: /boot/initrd.img-3.16.0-4-amd64 done tty1 ตามที่เข้าถึงได้โดยCtrl+ Alt+ F1: $ sudo update-grub [sudo] password for user: Generating grub configuration file ... Found background image: .background_cache.png Found linux image: …

1
256 สีในคอนโซล (tty)
X serverสมมติว่าผมมีระบบโดยไม่ต้อง ฉันสามารถล็อกอินได้จากคอนโซลเท่านั้น ดูเหมือนว่าโดยค่าเริ่มต้นคอนโซลลินุกซ์รองรับเพียง 8 สี: # tput colors 8 เป็นไปได้หรือไม่ที่จะใช้ 256 สีในคอนโซลเหมือนกับที่ฉันใช้ในเทอร์มินัลอีมูเลเตอร์ (เช่นเทอร์มิเนเตอร์) ในขณะที่ googling Ihave พบคำถามที่คล้ายกันมากมาย (หลายคนมีอายุมากกว่า 10 ปี) แต่ไม่มีคำตอบที่ชัดเจน บางคนแนะนำให้ใช้ framebuffer บางคนแนะนำให้ผนวกอาร์กิวเมนต์ TERM กับตัวเลือกการบูตเคอร์เนล ในขณะนี้ฉันส่งเพียงหนึ่งตัวเลือกพิเศษเป็นพารามิเตอร์การบูตเคอร์เนล: append="video=1280x720" ฉันเชื่อว่าการส่งความละเอียดวิดีโอใช้งานได้กับเมล็ดที่ทันสมัยkernel mode settingเท่านั้น แต่ฉันไม่แน่ใจ เป็นไปได้หรือไม่ที่จะใช้ 256 สีในคอนโซล linux รุ่นใหม่ (tty) อย่างไร? ฉันใช้ Debian Wheezy กับ kernel 4.1 UPDATE: ตามคำแนะนำจาก @muru ฉันได้ลองfbtermแล้ว …

4
มีขั้ว linux ใดบ้างที่สามารถรองรับคีย์ผสมทั้งหมดได้?
ผมชอบที่จะใช้ emacs ในโหมดขั้ว ( -nw) แต่ดูเหมือนว่าส่วนใหญ่ (ทั้งหมด?) ขั้วไม่สามารถจัดการคีย์ผสมบาง - ตัวอย่างเช่นหรือC-<RET> C-M-%ฉันรู้ว่าเป็นเพราะเทอร์มินัลส่วนใหญ่เลียนแบบ VT-100 ซึ่งไม่มีชุดค่าผสมเหล่านี้ มีลินุกซ์เทอร์มินัลใดบ้าง (ควรเป็น KDE) ซึ่งสามารถรองรับคีย์ผสมเหล่านี้ได้หรือนี่เป็นข้อ จำกัด พื้นฐานของเทอร์มินัลทั้งหมดหรือไม่?

2
ทำไมถึงมีอุปกรณ์เทอร์มินัลเสมือนจริงมากมาย
ฉันได้อ่านหนังสือการเขียนโปรแกรม Linux ขั้นสูงและมันพูดถึงเทอร์มินัลเสมือนซึ่งถ้าฉันเข้าใจถูกต้องมันเป็นคุณสมบัติเฉพาะของ Linux (ไม่ใช่ใน Unix) เพื่ออนุญาตคอนโซลการเข้าสู่ระบบหลายแห่งในระบบที่ไม่ใช่ X11 คุณสร้างเทอร์มินัลเสมือนโดยกด ALT-F2 ฉันใช้ Linux Mint และในโฟลเดอร์ / dev ของฉันแม้ว่าฉันจะเห็นอุปกรณ์ tty มากมายและฉันไม่รู้ว่ามันใช้ทำอะไร นี่คือเอาต์พุต grepped: crw-rw-rw- 1 root tty 5, 0 Jan 2 19:45 tty crw--w---- 1 root tty 4, 0 Jan 2 19:10 tty0 crw-rw---- 1 root tty 4, 1 Jan 2 19:10 …
11 linux  console  devices  tty 

1
zsh ไม่สามารถอินพุตไปยังเทอร์มินัลเมื่อวาง stdin และ stdout ด้วยคำสั่งตัวแปรที่มีเอาต์พุต tty
ข้อมูลระบบ: macOS Sierra 10.12.6 zsh 5.4.2 (x86_64-apple-darwin16.7.0) GNU bash, version 4.4.12(1)-release (x86_64-apple-darwin16.3.0) เลื่อนไปที่ตัวอย่างที่ด้านล่างหากคุณเพียงต้องการขุดตัวอย่างง่าย ๆ ที่ฉันทำ หมายเหตุ: ฉันไม่ใช่zshผู้ใช้ที่ยิ่งใหญ่ ฉันกำลังมองหาfzfปุ่มลัดสำหรับbashและzsh. $(__fzfcmd)แจ้งให้ทราบว่าพวกเขาทั้งสองเรียกใช้คำสั่งตัวแปร __fzfcmdโดยเอาต์พุตดีฟอลต์fzfไปยัง stdout และการแทนที่พารามิเตอร์เพิ่งรัน command ( fzf) ซึ่งเป็นผลมาจากเอาต์พุต หนึ่งความแตกต่างระหว่างbashและzshสคริปต์เป็นที่bashหนึ่งต่อท่อส่งออกของ$(__fzfcmd)แต่zshเพียงแค่จับมันไว้ภายในอาร์เรย์ ฉันเดาว่าเป็นเพราะปัญหาzshเมื่อคุณไปป์ไลน์เอาท์พุทของfzfที่คุณไม่สามารถป้อนข้อมูลfzfและกระบวนการไพพ์ไปยังโดยfzfไม่ได้รับ stdin ใด ๆ ทางเลือกเดียวของคุณคือการหรือ^Z ดูเหมือนจะเป็นพื้นหลังกระบวนการด้วยเหตุผลบางอย่าง หรือบางทีพวกเขาแค่ต้องการแถวลำดับเพื่อที่จะได้วิ่งต่อไป รุ่นไม่มายากลบางอย่างในกุญแจสำคัญที่มีผลผูกพันกับ^C^Czle vi-fetch-historybash"\e^": history-expand-line ตอนนี้fzfไม่สำคัญ ดูเหมือนว่าคุณเพียงแค่ต้องใช้โปรแกรมที่ให้ผลลัพธ์ที่ttyจะเรียกโดยการทดแทนพารามิเตอร์เพื่อทำให้เกิดปัญหานี้ ดังนั้นฉันจะแสดงตัวอย่างที่ง่ายขึ้น ต่อไปนี้เป็นคำสั่งอื่น ๆ ที่ให้ผลลัพธ์ttyซึ่งอาจทำให้เกิดปัญหานี้ได้zsh: vipe (เรียกใช้เครื่องมือแก้ไขกลางท่อ) 'vim -' (ทำให้เป็นกลุ่มอ่านจาก stdin คล้ายกับ …
11 bash  zsh  pipe  tty 

3
ทางเลือกแทน rfcomm ไบนารีที่เลิกใช้แล้วในปัจจุบันใน bluez
ตั้งแต่ bluez 5.44, rfcomm ไบนารีที่มีอยู่ใน bluez-utils (ในหมู่คนอื่น ๆ เช่น hcitool) ได้รับการพิจารณาว่าเลิกใช้แล้วและต่อจากนี้จะรวมอยู่ในแพ็คเกจ bluez-utils-compat ที่จัดหาโดย AUR มีแอพพลิเคชั่นบรรทัดคำสั่งที่คล้ายกันในการผูกอุปกรณ์บลูทู ธ เข้ากับพอร์ตอนุกรมโดยใช้โมดูลเคอร์เนล rfcomm หรือฉันต้องใช้ PyBluez หรือ libs ที่คล้ายกันจากนี้เป็นต้นไป หากภายหลังเป็นกรณีนี้คุณจะแนะนำให้ใช้ไลบรารี Python 3 แบบใด และถ้ามีใครรู้โปรดบอกฉันว่าทำไม Bluez-utils จำนวนมากจึงถูกคิดค่าใช้จ่ายทั้งหมดในทันที ฉันไม่พบอะไรเกี่ยวกับเรื่องนั้น ArchWikiแนะนำการใช้ฟังก์ชั่น RFCOMM โดยใช้ใหม่D-Bus โปรไฟล์ 1 API
10 tty  bluetooth  bluez  python3 

2
วิธีการเปลี่ยนความละเอียดหลังจากบูทสื่อการติดตั้ง Arch Linux?
เป็นไปได้หรือไม่ที่จะเปลี่ยนความละเอียดของหน้าจอหลังจากบูทสื่อการติดตั้ง Arch Linux ทั้งหมด? ฉันพยายามเพิ่มvga=795ในบรรทัดการบูตและใช้งานได้สองสามบรรทัดก่อนที่ความละเอียดจะเปลี่ยนกลับไปเป็น 4K ที่อ่านไม่ได้ และคำแนะนำต่าง ๆ ในวิกิดูเหมือนว่าฉันได้ตั้งค่าระบบเครือข่ายแล้วและสามารถติดตั้งแพ็คเกจได้ ด้วยความช่วยเหลือของคำแนะนำเกี่ยวกับฟอนต์คอนโซลเริ่มต้นทำให้ฉันสามารถตั้งค่าการใช้งานที่ใหญ่ที่สุดได้setfont /usr/share/consolefonts/iso01-12x22.psfu.gzแต่ก็ยังอ่านไม่ได้

2
แป้นพิมพ์ลัดสำหรับบรรทัดคำสั่งคืออะไร
ฉันกำลังพูดถึงแป้นพิมพ์ลัดที่คุณใช้ใน command-line / terminal ตัวอย่าง: Ctrl+ cที่ฆ่ากระบวนการCtrl+ dออกจากระบบCtrl+ zที่ส่งกระบวนการไปยังพื้นหลัง ... ฯลฯ ผมได้ทดสอบและพบว่าพวกเขาจะไม่ขั้ว (เช่นgnome-terminal, xterm, konsole) ที่เฉพาะเจาะจงหรือเปลือก (เช่นbash, zsh) ที่เฉพาะเจาะจงที่จะได้ทำงานที่ttys ดังนั้นฉันต้องการทราบ: ใครเป็นผู้ให้ทางลัดเหล่านี้ ฉันจะแสดงและแก้ไข / กำหนดได้อย่างไร?

1
อ่านสิ่งที่เขียนถึง / dev / tty *
ฉันจะอ่านสิ่งที่เขียนถึง/dev/tty*( *= 0- จำนวนtty ) ได้อย่างไร ฉันลองsudo tail -f /dev/tty1หนึ่งเทอร์มินัล ( X) จากนั้นsudo cp .emacs /dev/tty1อีกอัน Xไม่ได้แสดงเนื้อหาของ.emacsแต่กดฉันจะได้เห็นเนื้อหาของCtrl-Alt-F1.emacs พื้นหลัง. เป็นคำถามของหมวดหมู่เดียวกันนี้หรือไม่
10 linux  console  tty 

1
ในกรณีใดที่ SIGHUP ไม่ส่งงานเมื่อคุณออกจากระบบ?
ฉันอ่านคำตอบจากผู้ใช้ที่อ้างว่าใช้งานได้ foo 2>&1 >& output.log & จะส่งผลfooให้ทำงานต่อไปแม้ในขณะที่ออกจากระบบ ตามที่ผู้ใช้คนนี้ทำงานได้ดีกว่าการเชื่อมต่อ SSH ฉันไม่เชื่อจริง ๆ เพราะฉันรู้สึกว่าในกรณีที่ตัดการเชื่อมต่อจาก SSH หรือยกเลิก TTY เชลล์และกระบวนการของมันจะได้รับ SIGHUP ทำให้พวกเขายุติ นี้ภายใต้สมมติฐานของฉันเป็นเหตุผล แต่เพียงผู้เดียวสำหรับการใช้nohupในกรณีดังกล่าวหรือtmux, screenet al, ฉันดูคู่มือของ glibc แล้ว : สัญญาณนี้ยังใช้เพื่อรายงานการยุติกระบวนการควบคุมในเทอร์มินัลไปยังงานที่เกี่ยวข้องกับเซสชันนั้น การยุตินี้จะยกเลิกการเชื่อมต่อกระบวนการทั้งหมดในเซสชันจากเทอร์มินัลการควบคุมอย่างมีประสิทธิภาพ ดูเหมือนว่าจะยืนยันความคิดของฉัน แต่เมื่อมองไปไกลมันก็บอกว่า : หากกระบวนการเป็นผู้นำเซสชันที่มีเทอร์มินัลการควบคุมสัญญาณ SIGHUP จะถูกส่งไปยังแต่ละกระบวนการในงานเบื้องหน้าและเทอร์มินัลการควบคุมจะถูกยกเลิกการเชื่อมโยงจากเซสชันนั้น ดังนั้นนี่หมายความว่างานที่อยู่ในพื้นหลังจะไม่ได้รับ SIGHUP หรือไม่? สำหรับความสับสนที่เพิ่มขึ้นของฉันฉันใช้เซสชัน Zsh แบบอินเทอร์แอคทีฟวิ่งyes >& /dev/null &และพิมพ์exitเมื่อ Zsh เตือนฉันว่าฉันทำงานอยู่และหลังจากพิมพ์exitครั้งที่สองบอกฉันว่ามีงานหนึ่งงาน การทำเช่นเดียวกันนี้ใน Bash ทำให้งานหยุดทำงาน ...
10 ssh  tty  signals 

1
เชลล์แบบโต้ตอบควรทำอย่างไรในกลุ่มกระบวนการที่ถูกโยงถึง
(โพสต์ซ้ำในยูนิกซ์ตามคำแนะนำใน/programming/13718394/what-should-interactive-shells-do-in-orphaned-process-group ) คำถามสั้น ๆ คือเชลล์ควรทำอย่างไรถ้าอยู่ในกลุ่มกระบวนการที่ถูกโยงถึงที่ไม่มี tty อยู่? แต่ฉันแนะนำให้อ่านคำถามยาว ๆ เพราะมันสนุก นี่คือวิธีที่สนุกและน่าตื่นเต้นในการเปลี่ยนแล็ปท็อปของคุณให้เป็นเครื่องทำพื้นที่พกพาโดยใช้เปลือกที่คุณชื่นชอบ (ยกเว้นว่าคุณเป็นหนึ่งในพวก tcsh weirdos): #include <unistd.h> int main(void) { if (fork() == 0) { execl("/bin/bash", "/bin/bash", NULL); } return 0; } ทำให้ bash ตรึง CPU ที่ 100% zsh และปลาทำแบบเดียวกันในขณะที่ ksh และ tcsh พึมพำอะไรบางอย่างเกี่ยวกับการควบคุมงานและจากนั้นก็กระดูกงูซึ่งดีกว่าเล็กน้อย แต่ไม่มาก โอ้และเป็นผู้กระทำความผิดที่ไม่เชื่อเรื่องพระเจ้าแพลตฟอร์ม: OS X และ Linux ได้รับผลกระทบทั้งคู่ …

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