gpakosz / .tmux

πŸ‡«πŸ‡· Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❀️
MIT License
21.9k stars 3.36k forks source link

The shortcut keys set using ohmytmux take effect, but the style is still the default style. #737

Closed yjcup closed 5 months ago

yjcup commented 5 months ago

version:

gpakosz commented 5 months ago

Hello @yjcup πŸ‘‹

For some reason the detection logic believes that the path to the tmux binary is /mnt/rv/[rosetta].

gpakosz commented 5 months ago

Are you using Vagrant or Virtualbox on Apple Silicon by chance?

If you don't use Oh my tmux! and you launch a tmux session, then type:

$ readlink "/proc/$(tmux display -p '#{pid}')/exe"

What does it print?

gpakosz commented 5 months ago

And the output of this command please

$ lsof -b -w -a -d txt -p $(tmux display -p '#{pid}') -Fn
yjcup commented 5 months ago

Are you using Vagrant or Virtualbox on Apple Silicon by chance?

If you don't use Oh my tmux! and you launch a tmux session, then type:

$ readlink "/proc/$(tmux display -p '#{pid}')/exe"

What does it print?

Yes, my computer is an M2 mac, but I use ubuntu22 with x86 architecture on it through docker

yjc@ubuntux86:~$ readlink "/proc/$(tmux display -p '#{pid}')/exe"
/mnt/rv/[rosetta]
yjc@ubuntux86:~$ lsof -b -w -a -d txt -p $(tmux display -p '#{pid}') -Fn
p8932
ftxt
n/mnt/rv/[rosetta]
gpakosz commented 5 months ago

This is what I believed, this is really broken.

What if you issue

$ ps aux | grep tmux

?

yjcup commented 5 months ago

This is what I believed, this is really broken.

What if you issue

$ ps aux | grep tmux

?

yjc@ubuntux86:~$ ps aux | grep tmux yjc 9301 0.0 0.0 1200328 4224 pts/1 S+ 19:53 0:00 [rosetta] /usr/bin/grep grep --color=auto tmux

gpakosz commented 5 months ago

I mean when tmux is running πŸ™‚

But in any case I'm much surprised neither readlink nor lsof work

yjcup commented 5 months ago

I mean when tmux is running πŸ™‚

But in any case I'm much surprised neither readlink nor lsof work

Okay, I have already configured it through tmux.conf, and it works pretty well now 😊

gpakosz commented 5 months ago

Okay, I have already configured it through tmux.conf, and it works pretty well now

What do you mean?

gpakosz commented 5 months ago

If possible,

Could you please undo your changes and see if the gh-737 branch helps?

yjcup commented 5 months ago

If possible,

Could you please undo your changes and see if the gh-737 branch helps?

I revoked the previous configuration, and then git clone https://github.com/gpakosz/.tmux.git -b gh-737,

after entering tmux,source ~/.tmux.conf

'TMUX_PROGRAM="$(LSOF=$(PATH="$PATH:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" command -v lsof[0/0]
SOF -b -w -a -d txt -p 1892 -Fn 2>/dev/null | perl -n -e "if (s/^n((?:.(?!dylib$|so$))+)$/\1/g && s/(?
:\s+\([^\s]+?\))?$//g) { print; exit } } exit 1; {" || readlink "/proc/1892/exe" 2>/dev/null)"; [ -f "
$TMUX_PROGRAM" ] || TMUX_PROGRAM="$(command -v tmux || printf tmux); "$TMUX_PROGRAM" -S /tmp/tmux-501/
default set-environment -g TMUX_PROGRAM "$TMUX_PROGRAM"' returned 2
'"$TMUX_PROGRAM" -S /tmp/tmux-501/default set-environment -g TMUX_SOCKET "/tmp/tmux-501/default"' retu
rned 127
'"$TMUX_PROGRAM" set-environment -g TMUX_CONF $(for conf in "$HOME/.tmux.conf" "$XDG_CONFIG_HOME/tmux/
tmux.conf" "$HOME/.config/tmux/tmux.conf"; do [ -f "$conf" ] && printf "%s" "$conf" && break; done)' r
eturned 127
'"$TMUX_PROGRAM" set-environment -g TMUX_CONF_LOCAL "$TMUX_CONF.local"' returned 127
'"$TMUX_PROGRAM" source "$TMUX_CONF_LOCAL"' returned 127
gpakosz commented 5 months ago

I'm sorry I made a typo, I pushed in the gh-737 branch again.

The part I added is [ -f "$TMUX_PROGRAM" ] || TMUX_PROGRAM="$(command -v tmux || printf tmux)".

Could you please try again?

yjcup commented 5 months ago

I'm sorry I made a typo, I pushed in the gh-737 branch again.

The part I added is [ -f "$TMUX_PROGRAM" ] || TMUX_PROGRAM="$(command -v tmux || printf tmux)".

  • In your case, after having successfully run lsof, TMUX_PROGRAM will be set to mnt/rv/[rosetta]
  • Which will fail the `[ -f "$TMUX_PROGRAM" ] test because that file doesn't exist
  • And in turn TMUX_PROGRAM will be set to the output of command -v tmux
  • And if command -v test, TMUX_PROGRAM will be set to just "tmux"

Could you please try again?

The configuration is working properly and it feels greatπŸ‘. Thank you

gpakosz commented 5 months ago

Thanks so much for testing. I'll keep this issue open until I merge this workaround