Terminal Multiplexer สำหรับ Microsoft Windows - ตัวติดตั้งสำหรับหน้าจอ GNU หรือ tmux [ปิด]


122

ฉันกำลังมองหาเทอร์มินัลมัลติเพล็กเซอร์สำหรับ Microsoft Windows ฉันไม่พบโปรแกรมติดตั้งสำหรับ Microsoft Windows สำหรับทั้ง tmux และ GNU Screen

ขณะนี้ฉันใช้ Putty เพื่อเชื่อมต่อกับเครื่อง Linux จาก Windows Machine ใครช่วยแนะนำวิธีทำให้ GNU Screen หรือ tmux ทำงานบน Windows Platform ได้บ้าง

มีทางเลือกอื่นที่ดีสำหรับตัวเลือกข้างต้นหรือไม่


คุณกำลังพยายามทำอะไรกันแน่?
— thkala

3
ฉันต้องการมัลติเพล็กเซอร์เทอร์มินัลที่สามารถจัดการหน้าต่างเซสชันจำนวนมากและมีคุณสมบัติการคงอยู่ได้เช่นกัน
— Kamaal

1
อะไรที่ทำให้คุณไม่สามารถเรียกใช้หน้าจอบนกล่อง Linux และเพียงแค่ถอด (หรือบังคับปิด) การเชื่อมต่อทุกครั้ง สิ่งนั้นจะไม่เป็นไปตามข้อกำหนดของคุณหรือไม่? ฉันใช้มันผ่าน Cygwin แต่ตรงไปตรงมาฉันมักจะกลับไปใช้กล่อง Linux แยกต่างหากหรือ VM บนเครื่อง Windows ที่จะรัน Linux ได้อย่างเหมาะสมและเสนอสิ่งที่ฉันต้องการ
— 0xC0000022L

1
[ผู้ใช้ขั้นสูง] [1] แนะนำ Console2 สำหรับผู้ใช้ Windows [1]: superuser.com/a/419616/92406
— gliptak

คำตอบ:


91

ดู. นี่เป็นวิธีที่เก่า แต่หากมีคนจาก Google พบสิ่งนี้ทางออกที่ดีที่สุดสำหรับสิ่งนี้ - ( และมันยอดเยี่ยมมาก ) - คือการใช้ConEmu (หรือแพ็คเกจที่รวมและสร้างขึ้นบน ConEmu ที่เรียกว่าcmder ) จากนั้นใช้ plink หรือฉาบตัวเองในการเชื่อมต่อไปยังเครื่องที่เฉพาะเจาะจงหรือดียิ่งขึ้น, การตั้งค่าการพัฒนาสภาพแวดล้อมเป็น VM ท้องถิ่นโดยใช้คนจรจัด

นี่เป็นวิธีเดียวที่ฉันจะเห็นว่าตัวเองพัฒนาจากกล่อง Windows อีกครั้ง

ฉันมั่นใจมากพอที่จะพูดได้ว่าทุกคำตอบ - ในขณะที่ไม่จำเป็นต้องเป็นคำตอบที่ไม่ดีเสมอไป - นำเสนอโซลูชันขยะเมื่อเทียบกับสิ่งนี้

อัปเดต : ณ วันที่ 1/8/2020 ไม่ใช่โซลูชันอื่น ๆ ทั้งหมดที่เป็นขยะ - Windows Terminalกำลังไปถึงที่นั่นและมีWSLอยู่


1
A) เกี่ยวกับ Vagrant: ใช่ Vagrant ทำให้การติดตั้ง Linux VM บนเครื่อง Windows ทำได้ง่ายกว่าที่เคยเป็นมาอย่างรวดเร็ว โปรดทราบว่า OP อาจไม่ต้องการ Linux VM เช่นบางทีเขามี RAM เหลือน้อย
— unforgettableidSupportsMonica

11
B) เกี่ยวกับ ConEmu: Cygwin, tmux และ ssh เป็นสิ่งที่คุณต้องการ Tmux และ ssh ทำงานเหมือนกันในทุกแพลตฟอร์ม: Cygwin, Linux, Mac และอื่น ๆ ในทางกลับกัน ConEmu เป็นเทอร์มินัลมัลติเพล็กเซอร์สำหรับ Windows เท่านั้น แม้ว่าคุณจะเคยชินกับมันแล้ว แต่ความรู้ของคุณจะไม่แปลไปยัง OS อื่น ดูเหมือนคุณจะบอกเป็นนัยว่า ConEmu ดีกว่า tmux แต่คุณเคยใช้ tmux นานแค่ไหน?
— unforgettableidSupportsMonica

1
สำหรับคำแนะนำที่ดีเกี่ยวกับ Tmux: http://www.sitepoint.com/tmux-a-simple-start/เมื่อพวกเขาพูดว่า CTRL + B% เพียงแค่พิมพ์ที่ CTRL + B เดียวกันจากนั้นกด Shift + 5 (ซึ่งก็คือ ในแป้นพิมพ์ของฉันที่มีสัญลักษณ์%)
— Edenshaw

ไม่คำตอบเกี่ยวกับการใช้ Cygwin ไม่ใช่ขยะ และผงสำหรับอุดรู / โคเนมูน่าเกลียดมากที่จะใช้งานได้
— Jose V

77

ในฐานะของ 10 "ครบรอบ" การปรับปรุงของ Windows (เวอร์ชั่น 1607) ตอนนี้คุณสามารถเรียกใช้ระบบย่อยอูบุนตูโดยตรงจากภายในของ Windows โดยการเปิดใช้งานคุณลักษณะที่เรียกว่าโหมดผู้พัฒนา

ในการเปิดใช้งานโหมดนักพัฒนาให้ไปที่เริ่ม > การตั้งค่าจากนั้นพิมพ์ "ใช้คุณสมบัติของนักพัฒนา" ในช่องค้นหาเพื่อค้นหาการตั้งค่า บนทางด้านซ้ายมือแล้วคุณจะเห็นแท็บชื่อสำหรับนักพัฒนา จากภายในแท็บนี้คุณจะเห็นกล่องวิทยุเพื่อเปิดใช้งานโหมดผู้พัฒนา

หลังจากเปิดใช้งานโหมดนักพัฒนาแล้วคุณจะสามารถเปิดใช้งานคุณสมบัติระบบย่อย Linux ได้ โดยไปที่Control Panel > Programs > Turn Windows features on or off > และทำเครื่องหมายในช่องที่ระบุว่าWindows Subsystem for Linux (Beta)

ตอนนี้แทนที่จะใช้ Cygwin หรือโปรแกรมจำลองคอนโซลคุณสามารถเรียกใช้ tmux ผ่าน bash บนระบบย่อย Ubuntu ได้โดยตรงจาก Windows ผ่านแพ็คเกจ apt ดั้งเดิม ( sudo apt-get install tmux)


4
ฉันเชื่อว่าคำตอบนี้น่าจะถูกต้อง: thumb-up:.
— Ahed Eid


มีผลกระทบด้านความปลอดภัยในการดำเนินการนี้หรือไม่?
— leeand00

1
แน่ใจว่าคุณจะเรียกใช้ Tmux ภายใน WSL แต่จะไม่เรียกใช้แอป windows ของคุณคุณต้องติดตั้งใหม่ แต่คราวนี้ภายใน WSL เพื่อเรียกใช้จากภายใน WSL หากคุณจะใช้ WSL เป็น ssh เท่านั้นสิ่งนี้อาจจะไม่เป็นปัญหา แต่มันน่ารำคาญ ความไม่สะดวกอื่น ๆ ได้แก่ WSL มีระบบไฟล์ของตัวเองซึ่งคุณไม่สามารถมองจากหน้าต่างได้แม้แต่ WSL ก็สามารถดูระบบไฟล์ของ windows ได้ ฯลฯ
— Jose V

44

ทั้งสองtmuxและGNU หน้าจอการทำงานภายใต้Cygwin สามารถติดตั้งได้จากตัวติดตั้ง cygwin เพียงค้นหาชื่อของพวกเขาที่นั่นและคุณอาจจะเข้าสู่เวอร์ชันล่าสุด (อย่างน้อยสำหรับtmux )


5
Tmux ทำงานค่อนข้างช้าใน Cygwin
— อาดัม

นี้! รับ Msys2 ซึ่งเป็นส้อม Cygwin พร้อมรองรับ MinGW-w64 และ Windows อื่น ๆ ฉันใช้ Zshell กับ Powerlevel10k และเร็วที่สุดสวยมากและใช้งานได้ดีกับ tmux
— Jose V

8

คุณอาจจะได้รับสิ่งที่คุณต้องการโดยใช้ Console2กับ Putty หรือ Plink


1
ฉันสามารถเพิ่มสิ่งนี้ได้หากคุณใช้คอนโซลเวอร์ชัน 1.5.x คุณสามารถกำหนดค่าหน้าต่างแยกกันโดยไม่มีขอบและแท็บได้ คุณยังสามารถกำหนดค่าความกว้างความสูงและตำแหน่งได้อย่างง่ายดาย ในระยะสั้นให้สร้างหน้าต่างหลาย ๆ หน้าต่างและเรียงต่อกันบนเดสก์ท็อป
— Rex Whitten

2
จะไม่เข้าใกล้สิ่งที่เทอร์มินัลมัลติเพล็กเซอร์ที่แท้จริงทำด้วยซ้ำ การทำงานแบบไม่ใช้เมาส์? เต็มหน้าจอบานหน้าต่างด้วยการกดแป้นพิมพ์ 2 ครั้ง? หลายแท็บของเค้าโครงหลายบาน? วางสำเนาโดยไม่ใช้เมาส์? สลับเค้าโครงบานหน้าต่างภายในแท็บเค้าโครง? เลื่อนเมาส์? ปรับขนาดบานหน้าต่างไร้เมาส์? กำหนดค่าพื้นที่ทำงานล่วงหน้าด้วยเค้าโครงแท็บ / บานหน้าต่างหลายรายการและเข้าและออกจากเซสชันพื้นที่ทำงานหรือไม่ จับคู่ระยะไกล? ทั้งหมดนี้ด้วยการกดแป้นพิมพ์สูงสุด 2 ครั้งและไม่มีเมาส์?
— Cosmin


6

หนึ่งในทางเลือกคือMSYS2ในคำพูดอีก "MinGW-w64" / Git Bash คุณสามารถsshไปยังเครื่อง Unix และเรียกใช้คำสั่ง linux ส่วนใหญ่ได้ ติดตั้งtmux ด้วย !

ในการติดตั้ง tmux ในMSYS2 :

เรียกใช้คำสั่ง pacman -S tmux

ในการเรียกใช้ tmux บนGit Bash :

ติดตั้งMSYS2และคัดลอกtmux.exeและmsys-event-2-1-6.dllจากโฟลเดอร์MSYS2C:\msys64\usr\binไปยังไดเร็กทอรีGit Bash ของC:\Program Files\Git\usr\binคุณ


ลิงก์สัญลักษณ์ใช้งานได้ดังนั้นหากคุณอัปเกรด git bash ด้าน msys2 จะใช้ไฟล์ที่ใหม่กว่า จาก git bash /c/Program Files/Git/usr/binสิ่งนี้ใช้ได้กับฉันในตอนนี้:$ ln -s /c/msys64/usr/bin/tmux.exe . ; ln -s /c/msys64/usr/bin/msys-event-2-1-6.dll .
— Grant Bowman

ฉันพบว่าบล็อกโพสต์นี้มีประโยชน์
— Grant Bowman

5

ในฐานะที่เป็นทางเลือก SuperPutty มีแท็บและตัวเลือกในการเรียกใช้คำสั่งเดียวกันในหลายเทอร์มินัล ... อาจเป็นสิ่งที่ใครบางคนกำลังมองหา

https://code.google.com/p/superputty/

นำเข้าเซสชัน PuTTY ของคุณด้วย


2

นี่คือวิธีที่สกปรก:

  1. ลงชื่อเข้าใช้เซิร์ฟเวอร์ linux โดยใช้ "ssh -X user @ host"
  2. เปิด rxvt-unicode หรือขั้ว X อื่น ๆ
  3. เปิด tmux หรือหน้าจอ
  4. กลับเข้าสู่ระบบคอมพิวเตอร์ของคุณจากเซิร์ฟเวอร์
  5. เริ่มเชลล์ที่คุณชื่นชอบเช่น msys หรือ cygwin

4
ถ้ามันดูโง่และมันใช้งานได้มันก็ไม่ได้โง่ฮ่า ๆ
— Hobroker

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