การใช้ Tmux และ Irssi อย่างถูกต้องผ่าน SSH


1

ฉันค่อนข้างใหม่กับ Tmux ฉันกำลังมองหาวิธีที่จะเชื่อมต่อเซสชัน Tmux ในพื้นที่กับที่อยู่ห่างไกลโดยใช้เซิร์ฟเวอร์ของฉันกับ irssi และสิ่งอื่น ๆ

ถ้าฉันเริ่มเซสชันปกติด้วย

tmux 

จากนั้นเชื่อมต่อกับ serv ของฉันกับ SSH, Tmux สูญเสียการเชื่อมต่อทุกครั้งที่ฉันปิดแล็ปท็อปของฉัน

ในอีกทางหนึ่งฉันพยายามเชื่อมต่อกับ serv ของฉันเริ่มเซสชัน tmux ที่นั่นจากนั้นเชื่อมต่อกับ local o ด้วย

ssh myserv.com -t tmux a

แต่หลังจากการพัก AFK ฉันไม่สามารถเชื่อมต่อใหม่ได้ ...

ฉันค่อนข้างแน่ใจว่ามีวิธีที่จะทำมันเบาะแสใด ๆ

คำตอบ:


1

อย่างที่ jmreicha พูด

เริ่ม tmux บนรีโมตเซิร์ฟเวอร์ แต่แทนที่จะเชื่อมต่อกับเซิร์ฟเวอร์นั้นด้วย ssh ...

ใช้ mosh

คุณจะไม่สูญเสียการเชื่อมต่ออีกต่อไปแม้ว่าคุณจะปล่อยให้คอมพิวเตอร์นอนหลับเป็นเวลาหลายสัปดาห์หรือเปลี่ยนจาก wifi ที่บ้านเป็นมือถือแล้วเปลี่ยนเป็น wifi สาธารณะฟรี

ใครต้องการสคริปต์เหรอ :)


ฉันประหลาดใจที่ downvote ที่คุณได้รับ บางทีมีคนไม่ชอบน้ำเสียงของคุณ? mosh ก็ยอดเยี่ยมอยู่ดี
Erik Garrison

0

คุณต้องการเริ่มเซสชัน tmux ของคุณบนรีโมตโฮสต์และเพียงแค่ทำให้มันทำงานในพื้นหลัง ตัวอย่างเช่นเรียกใช้tmuxคำสั่งบนเซิร์ฟเวอร์ระยะไกลเพื่อเริ่มต้นขึ้น จากนั้นจากเครื่องโลคัล SSH ของคุณไปยังเซิร์ฟเวอร์และรันtmux attach -t 0เพื่อเชื่อมต่อกับเซสชัน tmux 0

จากนั้นเมื่อคุณทำเสร็จให้แยกเซสชั่นด้วย CTRL-A CTRL-D และออกจากที่นั่นจนกว่าคุณจะต้องเชื่อมต่ออีกครั้ง

ทำให้รู้สึก?


ใช่มันใช้งานได้ แต่ไม่มีวิธีที่จะทำโดยไม่ต้องเชื่อมต่อใหม่ด้วยตนเองหรือไม่?
x_vi_r

อืมฉันเดาว่าฉันค่อนข้างแน่ใจว่าฉันเข้าใจสิ่งที่คุณถามแล้ว อาจอัปเดตคำถามของคุณพร้อมรายละเอียดเพิ่มเติมเกี่ยวกับสถานการณ์ของคุณ ฉันเดาว่าคุณจะต้องการให้สคริปต์บางอย่างทำเช่นนี้ แต่ฉันต้องรู้ว่าคุณต้องการให้เกิดอะไรขึ้นก่อน
jmreicha


0

สิ่งนี้อาจทำให้ง่ายขึ้น สำหรับหนึ่งอาจช่วยให้มีไฟล์การกำหนดค่า tmux ที่มีบรรทัดเช่น:

new-session -s mysession "bash -i"                     #window 0, run bash
new-window -n IRC "irssi -n x_vi_r -c DALnet; bash -i" #irssi in window 1
new-window -n Diag "tail -f /var/log/maillog"          # window 2, run maillog tail
split-window -h "top"                      # split 2nd window in half, run top
select-window -t 1 # select Window 1 (which has IRC in it)
attach-session -t mysession

จากนั้นคุณควรจะสามารถทำssh -t user@server.com "tmux attach -d"และสิ่งที่คุณจะเริ่มถ้ามันไม่ได้ทำงานอยู่

irssi ของฉันถูกตั้งค่าให้เชื่อมต่อกับ Dalnet ในตัวอย่างนี้ ถ้าฉันเลือกที่จะ / ออกจาก IRC เทอร์มินัล bash จะเริ่มต้นในหน้าต่างนั้น หากคุณไม่ชอบให้ลบ bash -i และเซมิโคลอนก่อนหน้า หน้าต่างที่สามเป็นเพียงตัวอย่างของบานหน้าต่างแยกสำหรับ "สิ่งอื่น ๆ "

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