Closed redbeardymcgee closed 2 months ago
An excerpt from the tmux server log
1714274640.536068 free client 0x61b0ecf61a80 (0 references)
1714274640.536070 cmdq_next <global>: empty
1714274640.536072 cmdq_next </dev/pts/1>: empty
1714274640.536074 server_client_reset_state: client /dev/pts/1 mode CURSOR,WRAP
1714274640.536076 server_client_reset_state: cursor to 0,0
1714274640.536078 server_client_check_pane_buffer: pane %0 is on
1714274640.536080 @0 active pane not changed
1714274640.536513 job error 0x61b0ecf17a30: cut -c3- '/home/josh/.config/tmux/tmux.conf' | sh -s __apply_plugins '/home/josh/.config/tmux/plugins' '1' 'true' 'true' 'true', pid 488661
1714274640.536518 cmdq_next <global>: empty
1714274640.536520 cmdq_next </dev/pts/1>: empty
Looks like it's making the effort, just nothing happens.
Hello @redbeardymcgee 👋
What OS are you using and what's the tmux version please?
It's under a distrobox with Fedora 40. It was midnight so I neglected to mention.
🐧 josh 09:03:02 AM 04/28/24 🏠 ✅ cat /etc/fedora-release
Fedora release 40 (Forty)
🐧 josh 09:03:32 AM 04/28/24 🏠 ✅ uname -a
Linux dev.rbmpc 6.8.0-76060800daily20240311-generic #202403110203~1713206908~22.04~3a62479 SMP PREEMPT_DYNAMIC Mon A x86_64 GNU/Linux
🐧 josh 09:03:46 AM 04/28/24 🏠 ✅ tmux -V
tmux 3.4
Hard to say what's going on.
Can you please start the setup over? And make sure you kill all tmux processes then relaunch?
I have restarted from scratch multiple times, it's always the same problem.
I just checked a config with nothing, and '~/.tmux/plugins/tpm/tpm' returned 127
is all I get from that now.
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
# set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name#branch'
# set -g @plugin 'git@github.com:user/plugin'
# set -g @plugin 'git@bitbucket.com:user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
I don't remember that being broken before so I have to investigate that I guess.
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
This is not from Oh my tmux! though 🤷♂️
Please do not change the .conf
file and see the .conf.local
file for how to enable plugins.
Everything else is not supported.
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm'
This is not from Oh my tmux! though 🤷♂️
Please do not change the
.conf
file and see the.conf.local
file for how to enable plugins.Everything else is not supported.
Of course. What I was doing is checking if anything works with a base tmux
to rule out any complications from OMT. I think I'm finding a problem with using ~/.config/tmux/
as the tmux config home for tpm
.
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.config/tmux/plugins/tpm/tpm'
This baseline config for tmux (removing ALL of OMT completely and using JUST this config file) at ~/.config/tmux/tmux.conf
allows ~/.config/tmux/plugins/tpm/bin/install_plugins
to work. Identical success from ~/.tmux.conf
with ~/.tmux/plugins
as the tpm
home.
🐧 josh 09:49:10 AM 04/28/24 🏠 ✅ ~/.config/tmux/plugins/tpm/bin/clean_plugins
Removing "tmux-sensible"
"tmux-sensible" clean success
Switching in the default config from OMT results in total failure. Uncomment these lines in ~/.tmux.conf.local
:
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-restore 'on'
Launching tmux shows that OMT is trying to use tpm
on startup, and it reports "Done updating tpm and plugins" pretty quick.
No plugins were installed or updated. TPM just fails or exits.
🐧 josh 10:05:07 AM 04/28/24 🏠 ✅ .tmux/plugins/tpm/bin/install_plugins
unknown variable: TMUX_PLUGIN_MANAGER_PATH
FATAL: Tmux Plugin Manager not configured in tmux.conf
Aborting.
From within a tmux instance:
🐧 josh 10:06:14 AM 04/28/24 🏠 ✅ .tmux/plugins/tpm/bin/install_plugins
🐧 josh 10:06:22 AM 04/28/24 🏠 ✅ .tmux/plugins/tpm/bin/update_plugins all
Updating all plugins!
<prefix> I
just results in the original post.
Works for me on macOS,
Before launching tmux.
$ pwd
/Users/gpakosz/.config/tmux
$ ls
tmux.conf tmux.conf.local
$ sha256sum tmux.conf
9658b606baacda88bae3067f59034b17bcb8bc8187b610f078cd1aa738b67464 tmux.conf
$ grep -A 1 '^set -g @plugin' -- tmux.conf.local
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @continuum-restore 'on'
After launching tmux.
$ ls plugins
tmux-continuum tmux-resurrect tpm tpm_log.txt
$ cat plugins/tpm_log.txt
[2024-04-28 19:58:59.780] List of discovered tpm plugins: tmux-plugins/tmux-resurrect tmux-plugins/tmux-continuum
[2024-04-28 19:58:59.805] Invoking /Users/gpakosz/.config/tmux/plugins/tpm/bin/install_plugins
[2024-04-28 19:59:00.155] Installing "tmux-resurrect"
[2024-04-28 19:59:00.156] Installing "tmux-continuum"
[2024-04-28 19:59:01.104] "tmux-continuum" download success
[2024-04-28 19:59:01.930] "tmux-resurrect" download success
[2024-04-28 19:59:01.957] Done.
I used Vagrant
to install this fedora-40
box: https://app.vagrantup.com/bento/boxes/fedora-40
After installing tmux and git, I used the same steps and I discovered that you need to install the perl-Time-HiRes
package.
Can you please confirm this works for you while I figure out what to do?
That does indeed solve the issue, allowing tpm
to run successfully.
🐧 josh 01:33:40 PM 04/28/24 🏠/.config/tmux ✅ cat plugins/tpm_log.txt
[2024-04-28 13:33:41.501] List of discovered tpm plugins: tmux-plugins/tmux-resurrect tmux-plugins/tmux-continuum
[2024-04-28 13:33:41.525] Invoking /home/josh/.config/tmux/plugins/tpm/bin/install_plugins
[2024-04-28 13:33:41.569] Installing "tmux-resurrect"
[2024-04-28 13:33:41.570] Installing "tmux-continuum"
[2024-04-28 13:33:42.601] "tmux-continuum" download success
[2024-04-28 13:33:44.094] "tmux-resurrect" download success
[2024-04-28 13:33:44.106] Invoking /home/josh/.config/tmux/plugins/tpm/bin/update_plugins all
[2024-04-28 13:33:44.117] Updating all plugins!
[2024-04-28 13:33:44.117]
[2024-04-28 13:33:44.817] "tmux-continuum" update success
[2024-04-28 13:33:44.820] | Already up to date.
[2024-04-28 13:33:44.830] "tmux-resurrect" update success
[2024-04-28 13:33:44.832] | Already up to date.
[2024-04-28 13:33:44.850] Invoking /home/josh/.config/tmux/plugins/tpm/bin/clean_plugins all
[2024-04-28 13:33:44.897] Done.
I knew there was perl in .tmux.conf
but I never suspected a dependency issue.
It's apparently not supposed to happen. How do you install Fedora 40?
I'm using the podman
backend.
dev.ini
[dev]
image="registry.fedoraproject.org/fedora-toolbox:latest"
pull=true
additional_packages="emacs neovim"
additional_packages="ripgrep fd-find"
additional_packages="git libvterm libtool"
additional_packages="coreutils cmake clang-tools-extra"
additional_packages="xwininfo xdotool xclip xsel"
additional_packages="freetype-devel fontconfig-devel"
additional_packages="tmux"
Create the container: distrobox assemble create --replace --file ./dev.ini
I don't expose tmux
, so it's only available within the container: distrobox enter dev -- tmux
The strange thing is that according to https://packages.fedoraproject.org/pkgs/perl/perl/fedora-40.html#dependencies, the perl
package does depend on the perl-Time-HiRes
package.
So whoever created the fedora-toolbox:latest
image tried to slim it down and broke perl
.
None of the packages I installed include perl
as a dependency, so perl-Time-HiRes
wouldn't get installed anyway. I can add the package to the container no sweat.
What I have discovered is that /usr/bin/perl
is provided by perl-interpreter package instead of the perl
package. This means that on Fedora 40 (and what other versions? idk yet, do we need to know?), Oh My Tmux!
has a hard dependency on perl-Time-HiRes
and cannot rely on it being provided by default.
dnf install perl
pulls in the perl-Time-HiRes
package as expected. dnf install perl-Time-HiRes
installs the necessary package without pulling 185 deps.
I pushed the gh-739
branch in which a message is displayed when Time::HighRes
is not available.
I guess I'll just do that, because strangely enough having timestamps to the milliseconds that works in POSIX scripts and without having to install too much is not straightforward 🙃
would date +"%T.%3N"
suffice?
would
date +"%T.%3N"
suffice?
Not supported on macOS
Yeah, that's a problem which people much smarter than me have been trying to solve for a very long time. I suppose a warning is enough. Perhaps a note in the readme would be in order.
Thanks for helping find the culprit!
After further poking around, I have found that the package group Development Libraries
will provide this package as a "weak dependency".
dnf groupinstall "Development Libraries"
Anyone reading this may also want dnf groupinstall "Development Tools"
.
Thanks again for your help gpakosz.
From a blank slate with this repo's configuration in ~/.config/tmux/tmux.conf{,.local}, uncomment the following lines in
.tmux.conf.local
.<prefix> r
<prefix> I
displays onlyThe plugins are never acknowledged. Other configurations still work, such as
set -g status-position top
.~/.config/tmux/plugins/tpm_log.txt
does get written to, but the log is frustratingly empty.