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

เทอร์มินัลคือสภาพแวดล้อมสำหรับการป้อน / ส่งข้อความ ภายในเทอร์มินัลหนึ่งรันโปรแกรมบรรทัดคำสั่งและโหมดข้อความ (รวมถึงเปลือกหอย)

3
เทอร์มินัลอีมูเลเตอร์ใดที่สนับสนุนโหมดการควบคุม tmux?
tmuxมีโหมดการควบคุมที่เปิดใช้งานด้วย-CCเพื่อให้เทอร์มินัลอีมูเลเตอร์สามารถควบคุม tmux ได้ iTerm2 ใช้สิ่งนี้เพื่อเอฟเฟกต์ที่ยอดเยี่ยมสำหรับการอนุญาตให้หน้าต่าง tmux ปรากฏเป็นหน้าต่าง iTerm แยกต่างหาก มีเทอร์มินัลอีมูเลเตอร์อื่น ๆ ที่รองรับโหมดควบคุมหรือไม่? ฉันมีความสนใจเป็นพิเศษใน terminal emulators / ลูกค้า SSH สำหรับ Windows ที่อาจมีฟังก์ชั่นดังกล่าว แต่ Linux / Unix ก็น่าสนใจเช่นกัน
33 terminal  tmux  iterm 

3
ใช้ตัวแปรเพื่อจัดเก็บรหัสสีของเทอร์มินัลสำหรับ PS1 หรือไม่
ในของ.bashrcฉันฉันใช้รหัสสีเทอร์มินัล ANSI เพื่อ colorize บิตต่าง ๆ ดูเหมือนว่านี้: PS1='\u@\h:\w\[\033[33m\]$(virtual_env)\[\033[32m\]$(git_branch)\[\033[0m\]$ ' ที่ไหนvirtual_envและgit_branchฟังก์ชั่นทุบตีสิ่งที่ส่งออกใน stdout ตอนนี้เพื่อให้ง่ายต่อการอ่านและแก้ไข, PS1ฉันต้องการที่จะเก็บรหัสสีในตัวแปรและหมายถึงพวกเขาแทนการฝังพวกเขาโดยตรงใน ดังนั้นฉันจึงมีตัวแปรหลายอย่างเช่นนี้: GREEN="\[\033[32m\]" YELLOW="\[\033[33m\]" RESET="\[\033[0m\]" ฉันต้องการที่จะสามารถเขียนสิ่งที่ชอบ: PS1='\u@\h:\w${YELLOW}$(virtual_env)${GREEN}$(git_branch)${RESET}$ ' แต่วิธีนี้ใช้ไม่ได้ - รหัสสีจะแสดงขึ้นมาในพรอมต์ราวกับว่ามันกำลังหลบหนี สีที่ทำงานอย่างถูกต้องถ้าผมใช้คำพูดสองแทนแต่แล้วก็พรอมต์เพียงการเปลี่ยนแปลงเมื่อฉันทำPS1source ~/.bashrc ฉันได้พยายามสิ่งอื่น ๆ ที่ผมเคยเห็นคนทำ - การใช้printfและไม่ใช้คำพูดเดียวสำหรับสีวาง\[และ\]ในPS1แทนของตัวแปรสี แต่ไม่มีอะไรน่าจะทำงาน ฉันจะใช้ตัวแปรสำหรับรหัสสีได้อย่างไร

6
คำสั่งที่ชัดเจนทำงานอย่างไร
ฉันเพิ่งพยายามเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการทำงานของเชลล์และดูว่าclearคำสั่งทำงานอย่างไร ไฟล์เรียกทำงานอยู่ใน/usr/bin/clearและดูเหมือนว่าจะพิมพ์กลุ่มของบรรทัดว่าง (เท่ากับความสูงของเทอร์มินัล) และวางเคอร์เซอร์ที่ด้านบนซ้ายของเทอร์มินัล เอาต์พุตของคำสั่งจะเหมือนกันเสมอโดยไม่คำนึงถึงขนาดของเทอร์มินัล: $ clear | hexdump -C 00000000 1b 5b 48 1b 5b 32 4a |.[H.[2J| 00000007 และสามารถทำซ้ำกับเสียงสะท้อนที่มีผลเหมือนกันแน่นอน: $ /bin/echo -e "\x1b\x5b\x48\x1b\x5b\x32\x4a\c" ฉันอยากรู้จริงๆว่าผลลัพธ์ของคำสั่งนี้แปลเป็นการล้างคอนโซลอย่างไร
33 shell  terminal 

15
ฉันจะรันคำสั่ง linux เดียวกันในแท็บ / เชลล์มากกว่าหนึ่งรายการพร้อมกันได้อย่างไร
มีเครื่องมือ / คำสั่งใน Linux ที่ฉันสามารถใช้เพื่อเรียกใช้คำสั่งในมากกว่าหนึ่งแท็บพร้อมกันหรือไม่ ฉันต้องการรันคำสั่งเดียวกัน: ./myprog argument1 argument2พร้อมกันในเชลล์มากกว่าหนึ่งอันเพื่อตรวจสอบว่า mutex ทำงานได้ดีในโปรแกรม threaded หรือไม่ ฉันต้องการเพิ่มจำนวนอินสแตนซ์ของโปรแกรมนี้เพื่อใส่รหัสของฉันภายใต้ความเครียดในภายหลัง ฉันกำลังมองหาบางอย่างที่กำแพงทำ ฉันสามารถนึกถึงการใช้ tty ได้ แต่มันก็ดูเหมือนจะเจ็บปวดมากถ้าฉันต้องไต่ระดับนี้ให้มากขึ้น

2
เทอร์มินัล Linux ทำงานอย่างไร
หากคุณเรียกใช้งานเทอร์มินัลและเรียกใช้งานโปรแกรมที่เรียกใช้งานได้ (สมมติว่าเป็นส่วนหนึ่งของสายที่เน้นความเรียบง่าย) คุณจะได้รับคำตอบจากคำสั่งของโปรแกรมที่ใช้งานได้ สิ่งนี้จะพิมพ์ให้คุณ (ผู้ใช้) ได้อย่างไร? เครื่องเทอร์มินัลทำอะไรเช่นนี้pexpect? (แบบสำรวจรอการส่งออก) หรืออะไร จะทราบวิธีการพิมพ์ออกมาได้อย่างไร? และเทอร์มินัลเริ่มโปรแกรมอย่างไร? (มันเป็นสิ่งที่คล้ายกับ os.fork ของ python ()?) ฉันงงว่าเทอร์มินัลทำงานอย่างไรฉันเล่นกับเทอร์มินัลอีมูเลเตอร์และฉันก็ยังไม่เข้าใจว่าเวทย์มนตร์นี้ทำงานอย่างไร ฉันกำลังดูที่แหล่งของ konsole (kde) และ yakuake (อาจใช้ konsole) และฉันไม่สามารถรับสิ่งที่เวทมนตร์นั้นเกิดขึ้นได้

3
บังคับให้หน้าจอ GNU reflow เป็นความกว้างของเทอร์มินัลปัจจุบันบน reattach?
ฉันต้องการบังคับให้หน้าจอ GNU reflow เป็นความกว้างของเทอร์มินัลที่มีอยู่เมื่อฉัน reattach เซสชัน ดูเหมือนว่าฉันจะทำงานอย่างถูกต้องก่อนที่ฉันจะอัพเกรดเครื่องเป็น CentOS 6 แต่ฉันไม่สามารถหาวิธีกู้คืนได้ ( TERM=xterm) เมื่อใดก็ตามที่ฉันแนบเซสชันโดยไม่คำนึงถึงสถานะเมื่อฉันถอดออกมันจะเปิดตัวที่ 80 คอลัมน์ปรับขนาดเทอร์มินัลของฉัน (PuTTY ในกรณีนี้) พร้อมกับมัน ฉันกำลังเปิดตัวและติดตั้งใหม่กับ: screen -aA -R <session> . screenrc ของฉันมีเฉพาะสิ่งต่อไปนี้และการผูกคีย์ที่ไม่เกี่ยวข้อง: term xterm defscrollback 10000 # status line at the bottom hardstatus on hardstatus alwayslastline hardstatus string "${-}%{.0c}%-w%{.y0}%f%n %t%{-}%+w %=%{..G}[%H] %{..Y} %D %M %d, %Y …

4
วิธีการเปิดตัวชุดของโปรแกรมภายใน tmux หรือ gnome-terminal ภายในสคริปต์ได้อย่างไร
ฉันต้องการเรียกใช้คำสั่งสองสามคำพร้อมกันใน tmux หรือ gnome-terminal หรือ xfterminal ทุกแท็บที่ต่างกันโดยใช้คำสั่งเดียวและปิดแท็บนั้นเมื่อคำสั่งนั้นเสร็จสิ้น ยินดีต้อนรับซอฟต์แวร์อื่นใดเช่นกัน ฉันต้องการออกสคริปต์เดียวเพื่อทำงานเช่น XX "cmd1" "cmd2" "cmd3"

5
จะทราบระดับของกระสุนที่ฉันอยู่ได้อย่างไร
ถ้าฉันเปิดเทอร์มินัลเหมือนxtermฉันจะมีเชลล์ ถ้าฉันใช้sshหรือzshฉันจะมีระดับ "เชลล์" อีกอัน มีวิธีรู้หรือไม่ว่าฉันต้องCtrl+Dพิมพ์กี่ครั้งexitเพื่อออกจากพวกเขาทั้งหมด? ความตั้งใจที่แท้จริงของฉันคือการออกจากทุกอย่างยกเว้นเปลือก "รูท" นอกจากนี้ยังเป็นการดีที่จะรู้ว่าเอฟเฟกต์มัลติเพล็กเซอร์ (เช่นscreen) มีผลต่อการแก้ปัญหาอย่างไร PS: โปรดเปลี่ยนชื่อฉันไม่ทราบว่าเป็นคำที่ถูกต้อง
32 shell  terminal 

4
แอปพลิเคชั่น X เตือนว่า "ไม่สามารถเชื่อมต่อกับบัสการเข้าถึงได้" บน stderr
ดูเหมือนว่าทุกแอปพลิเคชันจากเทอร์มินัลจะให้คำเตือนและข้อความแสดงข้อผิดพลาดถึงแม้ว่ามันจะทำงานได้ดีก็ตาม Emacs: ** (emacs:5004): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-xxfluS2Izg: Connection refused Evince: ** (evince:5052): WARNING **: Couldn't connect to accessibility bus: Failed to connect to socket /tmp/dbus-xxfluS2Izg: Connection refused (evince:4985): Gtk-CRITICAL **: gtk_widget_show: assertion 'GTK_IS_WIDGET (widget)' failed (evince:4985): Gtk-CRITICAL **: gtk_widget_show: assertion …
30 terminal  x11  gtk  stderr  bugs 

5
วิธีค้นหากระบวนการที่ทำให้เกิดการใช้งาน CPU สูง
มีวิธีใดบ้างที่จะทราบได้จากเทอร์มินัลว่ากระบวนการใดทำให้เกิดการใช้งาน CPU สูง? มันจะมีประโยชน์ในการจัดลำดับกระบวนการตามลำดับของการใช้ cpu
30 linux  terminal  process  cpu 

2
วิธีปรับขนาดพื้นที่หน้าจอในแนวนอน
ฉันกำลังใช้screenเพื่อแยกเทอร์มินัลของฉัน แต่ฉันต้องการที่จะสามารถปรับขนาดมิติแนวนอนของหน้าจอแยก ถ้าฉันจะC-a :resize 10เปลี่ยนขนาดแนวตั้งเป็น 10 บรรทัดเท่านั้น ฉันจะประสบความสำเร็จเหมือนกัน แต่สำหรับมิติในแนวนอนได้อย่างไร


5
เหตุใดสีของ Vim จึงดูแตกต่างกันทั้งภายในและภายนอก tmux?
สิ่งแวดล้อม: Fedora 25 (4.9.12-200.fc25.x86_64) เทอร์มินัล GNOME 3.22.1 ใช้ VTE เวอร์ชัน 0.46.1 + GNUTLS VIM - Vi IMproved 8.0 (2016 Sep 12, รวบรวม 22 Feb 2017 16:26:11) tmux 2.2 ฉันเพิ่งเริ่มใช้ tmux และสังเกตว่าสีของ Vim นั้นเปลี่ยนไปตามว่าฉันกำลังวิ่งอยู่ข้างในหรือข้างนอก tmux ด้านล่างเป็นสกรีนช็อตของ Vim ข้างนอก (ซ้าย) และภายใน (ขวา) ของ tmux ขณะดู Git diff: TERMตัวแปรของฉันคือ ภายนอก tmux: xterm-256color ภายใน …
29 terminal  vim  tmux  colors 

6
ฉันจะสร้างนามแฝงสำหรับคำสั่ง git [action] (ซึ่งมีช่องว่าง) ได้อย่างไร
นามแฝงของฉันส่วนใหญ่เป็นของแบบฟอร์มนี้: alias p='pwd' ฉันต้องการนามแฝงgit commitเพื่อที่จะทำgit commit -v แต่การพยายามสร้างนามแฝงที่มีช่องว่างทำให้เกิดข้อผิดพลาด: $ alias 'git commit'='git commit -v' -bash: alias: `git commit': invalid alias name
29 bash  shell  terminal  alias  git 

4
มีวิธีล็อคบรรทัดคำสั่งหรือไม่
ตัวอย่างเช่นในเซสชั่น X ฉันสามารถใช้Ctrl- Alt- Lเพื่อล็อคหน้าจอดังนั้นมันจะขอรหัสผ่านเพื่อปลดล็อคและป้องกันไม่ให้ใครบางคนยุ่งกับคอมพิวเตอร์ของฉัน แต่ถ้าฉันมีเซสชันเทอร์มินัลแบบเปิดบนหนึ่งใน tty's (ซึ่งฉันสามารถเข้าถึงด้วยCtrl- Alt- F1ตัวอย่างเช่น) - จากนั้นจะไม่ถูกล็อคและบางคนยังสามารถใช้มันเพื่อทำอันตรายบางอย่าง มีวิธี 'ล็อค' บรรทัดคำสั่งนั้น (มีกระบวนการพื้นหลังบางอย่างทำงานอยู่ในนั้นอาจ)?

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