Giter VIP home page Giter VIP logo

tweemux's People

Contributors

acook avatar billeisenhauer avatar joshuaflanagan avatar rking avatar

Stargazers

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

Watchers

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

tweemux's Issues

`tweemux` with no commandline arguments produces ugly error.

running tweemux with no commandline arguments produces this error:

/Users/ogredude/.rvm/gems/ruby-1.8.7-p352@global/gems/tweemux-1.2.0/lib/tweemux.rb:22:in understand': undefined method[]' for nil:NilClass (NoMethodError)
from /Users/ogredude/.rvm/gems/ruby-1.8.7-p352@global/gems/tweemux-1.2.0/lib/tweemux.rb:10:in run' from /Users/ogredude/.rvm/gems/ruby-1.8.7-p352@global/gems/tweemux-1.2.0/bin/tweemux:3 from /Users/ogredude/.rvm/gems/ruby-1.8.7-p352@global/bin/tweemux:19:inload'
from /Users/ogredude/.rvm/gems/ruby-1.8.7-p352@global/bin/tweemux:19
from /Users/ogredude/.rvm/gems/ruby-1.8.7-p352@global/bin/bundler_wrapper:23

If tmux isn't in the path when you SSH in, nothing will work.

$ tweemux at xxx.xxx.xxx.xxx
: Running; ssh xxx.xxx.xxx.xxx -t tmux -S /tmp/tweemux.sock attach  # Connect to xxx.xxx.xxx.xxx, demand a pty, then attach to session
Password:
bash: tmux: command not found
Connection to xxx.xxx.xxx.xxx closed.

Since I'm using Homebrew, tmux isn't in the default path.

What I had to do was change my /etc/sshd_config to AllowUserEnvironment to yes, and then add this to my pair user's ~/.ssh/environment file:

PATH=/usr/local/bin:/usr/local/opt/coreutils/libexec/gnubin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/X11/bin:/usr/local/share/npm/bin/

You don't actually need the NPM or CoreUtils paths, but I figured what the hell.

Anyway, is there another way of handling this?

$TERM

Perhaps just force TERM=screen-256color

`tweemux` with no arguments throws file not found error

I'm not sure which directory you're aiming at in lib/tweemux/action/help.rb line 5, but it's not hitting the right place on my box.

For me, it's trying to read ~/README.md

Fish-n-Chips:~ ericf$ tweemux
/Users/ericf/.rvm/gems/ruby-1.8.7-p352/gems/tweemux-1.4.1/lib/tweemux/action/help.rb:6:in read': No such file or directory - /Users/ericf/README.md (Errno::ENOENT) from /Users/ericf/.rvm/gems/ruby-1.8.7-p352/gems/tweemux-1.4.1/lib/tweemux/action/help.rb:6:inrun'
from /Users/ericf/.rvm/gems/ruby-1.8.7-p352/gems/tweemux-1.4.1/lib/tweemux/action.rb:8:in call' from /Users/ericf/.rvm/gems/ruby-1.8.7-p352/gems/tweemux-1.4.1/lib/tweemux.rb:11:inrun'
from /Users/ericf/.rvm/gems/ruby-1.8.7-p352/gems/tweemux-1.4.1/bin/tweemux:3
from /Users/ericf/.rvm/gems/ruby-1.8.7-p352/bin/tweemux:19:in `load'
from /Users/ericf/.rvm/gems/ruby-1.8.7-p352/bin/tweemux:19
from /Users/ericf/.rvm/gems/ruby-1.8.7-p352@global/bin/bundler_wrapper:23

Stinkin' RVM auto-bundling

I'm not sure if I understand the full behavior, but we have a report that a user did like:

cd myproj # triggering .rvmrc
tweemux host # causing a complaint that it needs to be added to the bundle

Something seems off. Perhaps that rubygems-bundler is in play? Perhaps a funky .rvmrc is auto-prefixing with bundle exec somehow?

Not sure, but it needs investigation, and at the least an entry in a "Troubleshooting" section of how to respond to this error, even if it's, "Give up and add gem 'tweemux' to your Gemfile"

Rogue Mode

One of the wemux features is "Rogue Mode". Personally, I like the discipline of "One Driver, one Navigator", but I don't want to get in the way of someone's workflow.

To support this, you just need:

tmux new-session -t0

It says "Make a new session, who is targeted at session 0."

The only iffy parts are:

  • What should the command look like? I'm thinking: tweemux at foo.com rogue
  • Should we support sessions other than 0? Right now, I'm thinking not. If people want to do advanced stuff, they can probably just run the tmux commands directly.

Provide higher-level window/font sync functionality

For example, imagine two users, Larry and Balki, have identical resolutions,
but Larry is at 100x100 on 10pt font, Balki is at 50x50 on 14pt font.

  • Balki needs a feature to easily resize his terminal font to 10 pt
  • or Larry needs to easily resize to 14pt.
  • or Larry needs one to quickly halve his window size

There are other cases, but this is an example of the idea.

1.8 + System-wide install

Verify that this works if installed to /Library/Ruby/Gems

A.K.A. "what happens when you 'sudo gem install tweemux' on OS X Lion"

Mosh possible

Maybe it should just try mosh, if it's installed?

Or maybe it should work like:

tweemux mat ...
# ^ like 'tweemux at ...' but uses mosh

Mention Google Voice/Hangouts

As much as I loathe Google's looming size, it is true that Google communication
tools might work for people where SIP/Skype/POTS might not.

rbenv doesn't pick up on new bin/'s

So gem install tweemux && tweemux on ___ doesn't work for rbenv users.

The workaround is to have them do something like this:

gem install tweemux
exec $SHELL
tweemux on ___

And a possible workaround would be (untested):

gem install tweemux && bash -c 'tweemux on ___'

Which is kinda gross.

Perhaps the best thing would be one of those post-install messages (like from
HTTParty) where it detects the use of rbenv and tells them they'll have to
exec $SHELL. Iunno.

host command: Remove .lock file

Sometimes you get in a situation where /tmp/tweemux.sock.lock exists, and tmux
unceremoniously refuses to start.

I'm not sure what the consequences of blindly removing it might be. This might be the moment that spelunking the tmux source first becomes necessary.

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.