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

tmux เป็นเทอร์มินัลมัลติเพล็กเซอร์: มันช่วยให้มีเทอร์มินัลจำนวนมาก (หรือ windows) แต่ละโปรแกรมที่รันแยกต่างหากเพื่อสร้างเข้าถึงและควบคุมจากหน้าจอเดียว tmux อาจถูกแยกออกจากหน้าจอและทำงานต่อในพื้นหลังจากนั้นจึงติดตั้งใหม่ในภายหลัง

2
วิธีเปลี่ยนไดเร็กทอรีหน้าต่างใหม่ที่เป็นค่าดีฟอลต์จากภายใน tmux
ฉันเพิ่งย้ายจากหน้าจอ GNUเพื่อtmux ฉันพบว่ามันค่อนข้างคล้ายกัน แต่มีการสนับสนุนที่ใหญ่กว่า (ฉันเปลี่ยนเนื่องจากปัญหาเวลาหลบหนีใน neovim - ความละเอียดเป็นเพียง tmux) น่าเสียดายที่ใน tmux ฉันไม่สามารถหาคำสั่งที่คล้ายกันนี้: screen -X eval "chdir $(some_dir)" คำสั่งข้างต้นเปลี่ยนไดเรกทอรีเริ่มต้นสำหรับหน้าต่างใหม่ / หน้าจอ / บานหน้าต่างจากภายในหน้าจอ GNU ดังนั้นเมื่อฉันกดCtrl+ a(คล้ายกับ tmux Ctrl+ b) - หน้าต่างใหม่เปิดใน$(some_dir)ไดเรกทอรี มีสิ่งที่คล้ายกันใน tmux? คำตอบ: ฉันได้ใช้ @Lqueryvg คำตอบและรวมกับคำแนะนำ @Vincent Nivoliers จากความคิดเห็นและที่ให้ฉันผูกพันใหม่สำหรับคำสั่งattach -c "#{pane_current_path}"ที่ตั้งไดเรกทอรีปัจจุบันของฉันเป็นค่าเริ่มต้น ขอบคุณ
41 linux  tmux  gnu-screen 

5
ทำไมฉันต้องตั้งค่า env vars ใน tmux อีกครั้งเมื่อฉันแนบใหม่?
ฉันทำงานบน mac และ ssh / tmux เป็นหลักแนบกับเครื่อง Linux เพื่อทำงานของฉัน ฉันมี ssh-agent กำลังทำงานบนเครื่อง Linux ฉันมี set -g update-environment "SSH_AUTH_SOCK SSH_ASKPASS WINDOWID SSH_CONNECTION XAUTHORITY" .tmux.confในของฉัน แต่เมื่อใดก็ตามที่ฉันแนบมากับเซสชั่นนี้ฉันต้องทำงาน tmux setenv SSH_AUTH_SOCK $SSH_AUTH_SOCK เพื่อให้หน้าต่าง tmux ใหม่$SSH_AUTH_SOCKตั้งค่าไว้ถูกต้อง ฉันไม่ต้องการทำเช่นนี้ ความคิดใด ๆ ปรับปรุง ฉันคิดว่าฉันอธิบายไม่ได้ดี นี่คือฟังก์ชั่นเชลล์ของฉันเพื่อเปิดเชลล์บนเครื่องระยะไกล: sshh () { tmux -u neww -n ${host} "ssh -Xt ${host} $*" } …

3
วิธีการสลับโดยตรงไปยังบานหน้าต่างใน Tmux?
ฉันต้องการสลับโดยตรงไปยังบานหน้าต่างใน Tmux โดยบานหน้าต่าง # ฉันจะทำสิ่งนี้ได้อย่างไร ฉันรู้วิธีวนรอบระหว่างบานหน้าต่างและเลื่อนไปยังบานหน้าต่างที่อยู่ข้างบานหน้าต่างปัจจุบัน ฉันต้องการที่จะสามารถเรียกใช้display-panesคำสั่งซึ่งแสดงให้เห็นว่า "บานหน้าต่าง #" ในแต่ละบานหน้าต่างแล้วภายหลังกระโดดโดยตรงไปยังบานหน้าต่างโดยใช้บานหน้าต่าง s # display-panes'ที่ได้รับการแสดงโดย เป็นไปได้ไหม หมายเหตุ: และเพื่อให้ชัดเจนฉันไม่ได้หมายถึงหน้าต่างฉันหมายถึงบานหน้าต่าง ขอบคุณ!
37 tmux 

2
ฉันจะเปลี่ยนสีของเส้นแบ่งบานหน้าต่างใน tmux ได้อย่างไร
ฉันใช้คำสั่งต่อไปนี้เพื่อเปลี่ยนสีของแถบสถานะที่ด้านล่างของหน้าจอ: set -g status-bg colour244 แต่ฉันไม่รู้วิธีเปลี่ยนสีของเส้นที่แบ่งบานหน้าต่าง ขณะนี้พวกเขากำลังผสมสีเขียวและสีเทาดั้งเดิม (color244) man tmuxให้ข้อมูลมากมายเกี่ยวกับบรรทัดสถานะแต่ดูเหมือนว่าจะอ้างถึงแถบสถานะเองไม่ใช่เส้นแบ่ง ฉันสงสัยว่าฉันเพิ่งจะขาดคำศัพท์บางคำที่นี่
36 tmux  colors 

4
มีคำสั่ง“ log” ของ GNU Screen เทียบเท่าใน tmux หรือไม่?
ฉันใช้คำสั่ง "log" ของหน้าจออย่างหนักเพื่อบันทึกผลลัพธ์ของเซสชันไปยังไฟล์เมื่อฉันทำการเปลี่ยนแปลงในสภาพแวดล้อมที่กำหนด ฉันค้นหาผ่านหน้า man ของ tmux แต่ไม่พบสิ่งที่เทียบเท่า ใครรู้คุณสมบัติคล้ายกันใน tmux หรือฉันต้องเขียนสคริปต์เสื้อคลุมของตัวเองเพื่อทำ แก้ไข: ฉันตระหนักถึง 'สคริปต์' และโปรแกรมอรรถประโยชน์อื่น ๆ ที่อนุญาตให้ฉันเข้าสู่ระบบเซสชั่น เหตุผลที่ฟังก์ชั่นการใช้งานของหน้าจอมีประโยชน์มากคือความสามารถในการกำหนดตัวแปร logfile ซึ่งใช้การยกเว้นสตริงเพื่อระบุแต่ละเซสชันโดยไม่ซ้ำกัน เช่นฉันมีฟังก์ชั่นเชลล์ซึ่งกำหนดชื่อโฮสต์จะ SSH ไปยังโฮสต์นั้นในหน้าต่างหน้าจอใหม่และตั้งชื่อหน้าต่างเป็นชื่อโฮสต์ เมื่อฉันเริ่มบันทึกของเซสชั่นนั้นจะมีคำนำหน้าชื่อหน้าต่าง หากฟังก์ชันนี้ไม่มีอยู่ใน tmux ฉันจะต้องสร้างชุดเชลล์ฟังก์ชันใหม่เพื่อตั้งค่า 'สคริปต์' ของเซสชันที่ฉันต้องการบันทึก นี่ไม่ใช่เรื่องยากอย่างมาก แต่อาจไม่คุ้มค่ากับความพยายามที่หน้าจอทำสิ่งที่ฉันต้องการอยู่แล้ว
35 gnu-screen  logs  tmux 

4
Tmux ไม่ได้จัดหา. tmux.conf ของฉัน
ฉันติดตั้ง tmux แบบโลคัล (ไม่มีสิทธิพิเศษรูท) ฉันสร้าง.tmux.confไฟล์ของฉันในโฮมไดเร็กตอรี่ด้วยบรรทัดต่อไปนี้: unbind-key C-b set -g prefix C-o bind-key C-o send-prefix อย่างไรก็ตามtmuxดูเหมือนว่าจะไม่ได้ทำการจัดหาไฟล์นี้ (กุญแจของฉันยังคงอยู่C-b) ฉันได้ลองปิดและเปิดเซสชัน ssh ของฉันใหม่ (อยู่ในเครื่องระยะไกล) โดยไม่ประสบความสำเร็จ อาจเกิดอะไรขึ้น
34 tmux 

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

7
โหลดใหม่ของการกำหนดค่า tmux ไม่คลายการผูกกุญแจ (การผูกคีย์สะสม)
ฉันได้ทดลองใช้การตั้งค่าปุ่มลัด tmux ที่แตกต่างกันและฉันสังเกตเห็นสิ่งต่อไปนี้: หากฉันโหลดการกำหนดค่า tmux ของฉัน (จากภายใน tmux) การโยงคีย์ที่ฉันเคยโหลดจะยังคงโหลดอยู่ วิธีเดียวที่ฉันรู้ว่าการล้างข้อมูลนี้คือการออกจากเซสชัน tmux ทั้งหมดและรีสตาร์ท ดังนั้นดูเหมือนว่า tmux จะจดจำ keybindings ที่โหลดไว้ก่อนหน้านี้ทั้งหมดและจะลบออกเมื่อเริ่มต้นใหม่หรือโดยการผูกมัดอย่างชัดเจน หากต้องการสร้างสิ่งนี้ใหม่: เปิด terminal (A) เริ่ม tmux ตรวจสอบว่าการล็อคปุ่มกดแสดงนาฬิกาหรือไม่ (กดPREFIX C-t) กดPREFIX ?เพื่อดูปุ่มลัดในรายการ แก้ไข ~/.tmux.conf เพิ่มพวงกุญแจ ( bind C-t display "Keybinding C-t") โหลด tmux config ( PREFIX : source-file ~/.tmux.conf) ตรวจสอบว่าปุ่มลัดทำงานได้หรือไม่ (กดPREFIX C-t) กดPREFIX ?เพื่อดูปุ่มลัดใหม่ในรายการ …

3
ป้องกันบานหน้าต่าง / หน้าต่างจากการปิดเมื่อคำสั่งเสร็จสมบูรณ์ - tmux
ในtmux.confไฟล์ของฉันฉันได้รับการกำหนดค่าให้เปิดหน้าต่างตั้งชื่อพวกเขาตั้งค่าบานหน้าต่าง ฯลฯ ฯลฯ อย่างไรก็ตามสิ่งหนึ่งที่ฉันมีคือถ้าหนึ่งในบานหน้าต่างเรียกคำสั่งสมมติว่าlsบานหน้าต่างจะปิดตัวเองหลังจากคำสั่งเสร็จสิ้น (ทันที) มีวิธีป้องกันพฤติกรรมนี้หรือไม่? หรือปล่อยมันไปที่เปลือกปกติหลังจากคำสั่งเสร็จสมบูรณ์? ฉันสมมติว่าฉันต้องเริ่มเชลล์ -> execute คำสั่งเมื่อบานหน้าต่างเปิดตัว แต่ฉันจะถูกสาปถ้าฉันสามารถหาวิธีได้ ฉันแก้ปัญหานี้ไปเล็กน้อยแล้ว
33 tmux 

2
จะส่งคำสั่งไปยังเซสชัน tmux ที่ซ้อนกันได้อย่างรวดเร็วได้อย่างไร?
ฉันมีดังต่อไปนี้ใน. tmux.conf ของฉัน set -g prefix M-j bind-key j send-prefix ฉันต้องกด ( Atl+ J) + ( J) + bound-key เพื่อส่งบางอย่างไปยังเซสชัน tmux ที่ซ้อนกัน ฉันรู้สึกว่ามันค่อนข้างช้า มีวิธีใดที่ดีกว่า ตัวอย่างเช่นฉันชอบที่จะทำ ( Alt+ J) + (2x คีย์ - ขอบเขต) เพื่อทำสิ่งต่าง ๆ ในเซสชันที่ซ้อนกัน ฉันรันคำสั่งอย่างต่อเนื่องในเซสชั่น tmux ด้านบนแทนการรันคำสั่งในที่ซ้อนกัน แล้วทำไมทุกคนprefixต้องผูกมัดC-a? ฉันพบว่ามันช้ามากและไม่เป็นที่พอใจในการพิมพ์ชุดค่าผสมนี้ ฉันพลาดอะไรไปรึเปล่า?

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
วิธีเพิ่มการแบ่งแนวนอนเข้ากับหน้าต่าง tmux ที่ขยายความกว้างทั้งหมดของหน้าต่างพาเรนต์?
เมื่อฉันมีหน้าต่าง tmux ในแนวตั้งแบ่งออกเป็นสองบานหน้าต่างฉันจะวางไข่บานหน้าต่างแนวนอนที่สามใหม่ที่แผ่ขยายไปตามความกว้างเต็มได้อย่างไร เช่นฉันจะได้รับจากสิ่งนี้: Ctr-b % +–––––––––+–––––––––+ | | | | | | | | | | | | | | | +–––––––––+–––––––––+ สำหรับสิ่งนี้? Ctr-b % Ctr-b ... ตอนนี้อะไร +–––––––––+–––––––––+ | | | | | | | | | | | | | | | +–––––––––+–––––––––+ | | | | …
29 tmux 

5
อัปเดตเซิร์ฟเวอร์ arch linux ของฉันและตอนนี้ฉันได้รับ tmux: ต้องการสถานที่ตั้ง UTF-8 (LC_CTYPE) แต่มี ANSI_X3.4-1968
ฉันเพิ่งอัปเดตเซิร์ฟเวอร์ Arch Linux ของฉันและในระหว่างกระบวนการ tmux ได้รับการอัปเดต ฉันใช้tmuxในขณะที่การอัปเกรดเกิดขึ้นและใช้งานได้ในภายหลัง แต่ทั้งหมดในช่วงเซสชัน SSH เดียวกัน อย่างไรก็ตามตอนนี้เมื่อใดก็ตามที่ฉันพยายามที่จะออกtmuxคำสั่งใด ๆ ที่ฉันได้รับข้อผิดพลาดนี้: tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968 นี่คือผลลัพธ์จากlocale -aบนเซิร์ฟเวอร์: $ locale -a C POSIX และบนเครื่องของฉัน (Ubuntu 15.10): $ locale -a C C.UTF-8 en_AG en_AG.utf8 en_AU.utf8 en_BW.utf8 en_CA.utf8 en_DK.utf8 en_GB.utf8 en_HK.utf8 en_IE.utf8 en_IN en_IN.utf8 en_NG en_NG.utf8 en_NZ.utf8 …

2
วิธีแบ่งหน้าต่างใหม่และรันคำสั่งในหน้าต่างใหม่นี้โดยใช้ tmux?
ฉันเหนื่อย tmux -c "shell command" split-window แต่ดูเหมือนจะไม่ทำงาน ใช้tmux split-windowหนึ่งสามารถแยกหน้าต่างใหม่ อัปเดต : ใช้tmux split-window 'exec ping g.cn'สามารถเรียกใช้คำสั่ง ping แต่เมื่อหยุดหน้าต่างใหม่จะถูกปิด
28 tmux 

2
tmux session หายไปใน pts ที่ไม่ทราบสาเหตุและวิธีแก้ไข
ฉันพยายามแนบใหม่กับเซสชัน tmux ที่ใช้งานมานานเพื่อตรวจสอบบนแอปพลิเคชันเว็บไพ ธ อน อย่างไรก็ตามtmux attachอ้างว่าไม่มีเซสชันที่ทำงานอยู่และpsแสดงtmuxกระบวนการ (บรรทัดแรก) แต่มีเครื่องหมายคำถามแทนptsหมายเลข สิ่งนี้หมายความว่า --- เซสชั่น tmux นี้จะหายไปอย่างถาวรและสิ่งที่อาจทำให้มันได้หรือไม่ ยังมีวิธีการดูสถานะปัจจุบันของกระบวนการหลามที่เกิดในเซสชั่น tmux และทำงานในpts/19(บรรทัดที่สอง)? [mhermans@web314 ~]$ ps -ef | grep mhermans mhermans 16709 1 0 Mar04 ? 00:26:32 tmux mhermans 8526 16710 0 Mar04 pts/19 00:20:04 python2.7 webapp.py root 9985 6671 0 10:18 ? 00:00:00 sshd: mhermans …
27 process  tmux  session 

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