Code Monkey home page Code Monkey logo

polysh's Introduction

Polysh
~~~~~~

Polysh (formerly called Group Shell or gsh) is a remote shell multiplexor. It
lets you control many remote shells at once in a single shell. Unlike other
commands dispatchers, it is interactive, so shells spawned on the remote hosts
are persistent. It requires only a SSH server on the remote hosts, or some other
way to open a remote shell.

Requirements
~~~~~~~~~~~~

Python >= 2.4 is required.

Running
~~~~~~~

You can run polysh without installing it simply by executing the polysh.py file
in the toplevel directory.

Installation
~~~~~~~~~~~~

Polysh uses the distutils, so the command './setup.py install' will install it
in the default python directory. It should also install the polysh script in
/usr/local/bin.



-- 
Guillaume Chazarain <[email protected]>
http://guichaz.free.fr/polysh

polysh's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

polysh's Issues

does not work anymore?

Not sure if it is just me but I have not had this tool work in a while and my python skills are not that great. :\

basically trying to use this on MacOS Sierra, using:

 $ pip --version
pip 9.0.1 from /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (python 2.7)
 $ polysh --version
polysh 0.4```

the tool just locks up when attempting to connect to a host:

```waiting (1/1)> error: uncaptured python exception, closing channel <polysh.remote_dispatcher.remote_dispatcher connected at 0x10a072ef0> (<type 'exceptions.OSError'>:[Errno 4] Interrupted system call [/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py|readwrite|112] [/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py|handle_expt_event|483] [/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/remote_dispatcher.py|handle_expt|176])
^CTraceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/polysh", line 10, in <module>
    main()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/main.py", line 268, in main
    main_loop()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/main.py", line 162, in main_loop
    remote_dispatcher.main_loop_iteration()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/remote_dispatcher.py", line 50, in main_loop_iteration
    asyncore.loop(count=1, timeout=timeout, use_poll=True)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py", line 220, in loop
    poll_fun(timeout, map)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py", line 201, in poll2
    readwrite(obj, flags)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py", line 123, in readwrite
    obj.handle_error()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py", line 503, in handle_error
    self.handle_close()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/remote_dispatcher.py", line 186, in handle_close
    self.handle_expt()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/remote_dispatcher.py", line 176, in handle_expt
    pid, status = os.waitpid(self.pid, 0)
OSError: [Errno 4] Interrupted system call```

(this one with a ctrl + c) or just running help!

```polysh :help
Error talking to :help
error: uncaptured python exception, closing channel <polysh.remote_dispatcher.remote_dispatcher connected at 0x1109dfef0> (<type 'exceptions.OSError'>:[Errno 10] No child processes [/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py|readwrite|108] [/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py|handle_read_event|449] [/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/remote_dispatcher.py|handle_read|233] [/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/buffered_dispatcher.py|handle_read|47] [/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py|recv|391] [/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/remote_dispatcher.py|handle_close|186] [/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/remote_dispatcher.py|handle_expt|176])
Traceback (most recent call last):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/polysh", line 10, in <module>
    main()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/main.py", line 268, in main
    main_loop()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/main.py", line 145, in main_loop
    remote_dispatcher.main_loop_iteration(timeout=0.2):
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/remote_dispatcher.py", line 50, in main_loop_iteration
    asyncore.loop(count=1, timeout=timeout, use_poll=True)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py", line 220, in loop
    poll_fun(timeout, map)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py", line 201, in poll2
    readwrite(obj, flags)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py", line 123, in readwrite
    obj.handle_error()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/asyncore.py", line 503, in handle_error
    self.handle_close()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/remote_dispatcher.py", line 186, in handle_close
    self.handle_expt()
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/polysh/remote_dispatcher.py", line 176, in handle_expt
    pid, status = os.waitpid(self.pid, 0)
OSError: [Errno 10] No child processes```

I love this tool, I want it back. :|

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.