Added support for multi-session and multi-machine
Added: * Optional session name as argument * Multiple named tmux sessions to the same machine * multiple machines with shared homes * changed default session name to 'default'
This commit is contained in:
1 parent
f0ee6c736b
commit
7d2a35635a
1 file changed
+10
-3
+10
-3
@@ -1,16 +1,23 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
print("TMUX: %s" % os.getenv("TMUX", ""))
|
print("TMUX: %s" % os.getenv("TMUX", ""))
|
||||||
print("SSH_TTY: %s" % os.getenv("SSH_TTY", ""))
|
print("SSH_TTY: %s" % os.getenv("SSH_TTY", ""))
|
||||||
print("SSH_AUTH_SOCK: %s" % os.getenv("SSH_AUTH_SOCK", ""))
|
print("SSH_AUTH_SOCK: %s" % os.getenv("SSH_AUTH_SOCK", ""))
|
||||||
print("HOME: %s" % os.getenv("HOME", ""))
|
print("HOME: %s" % os.getenv("HOME", ""))
|
||||||
|
|
||||||
|
session_name = 'default'
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
session_name = sys.argv[1]
|
||||||
|
|
||||||
|
ssh_auth_sock = '-'.join(['ssh_auth_sock', os.getenv('HOSTNAME'), session_name])
|
||||||
|
|
||||||
if os.getenv("TMUX") is None:
|
if os.getenv("TMUX") is None:
|
||||||
if os.getenv("SSH_TTY") is not None:
|
if os.getenv("SSH_TTY") is not None:
|
||||||
if os.getenv("SSH_AUTH_SOCK") is not None:
|
if os.getenv("SSH_AUTH_SOCK") is not None:
|
||||||
sock_file = os.path.join(os.getenv("HOME"), ".wrap_auth_sock")
|
sock_file = os.path.join(os.getenv("HOME"), '.ssh', ssh_auth_sock)
|
||||||
try:
|
try:
|
||||||
#always try to remove
|
#always try to remove
|
||||||
os.remove(sock_file)
|
os.remove(sock_file)
|
||||||
@@ -20,9 +27,9 @@ if os.getenv("TMUX") is None:
|
|||||||
os.environ['SSH_AUTH_SOCK'] = sock_file
|
os.environ['SSH_AUTH_SOCK'] = sock_file
|
||||||
|
|
||||||
try:
|
try:
|
||||||
subprocess.check_call(["tmux", "attach-session", "-t", "sshwrap"])
|
subprocess.check_call(["tmux", "attach-session", "-t", session_name])
|
||||||
except subprocess.CalledProcessError:
|
except subprocess.CalledProcessError:
|
||||||
print("lets create session")
|
print("lets create session")
|
||||||
os.environ['STY'] = "tmux-sshwrap"
|
os.environ['STY'] = "tmux-sshwrap"
|
||||||
os.execlpe("tmux", "tmux", "new-session", "-s", "sshwrap",
|
os.execlpe("tmux", "tmux", "new-session", "-s", session_name,
|
||||||
os.environ)
|
os.environ)
|
||||||
Reference in new issue
Block a user