タグ付けされた質問 「tmux」

tmuxは端末マルチプレクサーです。それぞれが個別のプログラムを実行している複数の端末(またはウィンドウ)を、単一の画面から作成、アクセス、制御できるようにします。tmuxは画面から切り離され、バックグラウンドで実行され続け、後で再接続されます。

2
Ctrl-Cは、pppdの非切断セッションでは機能しません
Mini2440 ARMボードを使用しており、ベースのDebian 6.0システムをを使用して配置しましたmultistrap。 私はtmuxいくつかのプロセスを異なるウィンドウで実行していました/etc/rc.local。シリアルポートとinittabエントリを使用してボードに接続し、そのポートで実行gettyします。picocomシリアルコミュニケーターとして使用します。 rootがログイン~/.bashrcすると、すでに実行中のtmuxサーバーに接続され、プロセスを簡単に監視できます。実際のコマンドはexec tmux attach-session -t "main"です。tmuxはデフォルトの設定で実行されます。 プロセスの1つ(シェルスクリプトを中心とするpppd)がCtrlc端末から受信しないのを除いて、すべてが機能しますが、他のプロセスは機能します。またCtrl\動作します。また、 kill -INT <pppd_pid>動作しますが、kill -INT <shellscript_pid>しません。 私は本当にCtrlc働く必要があります。このセットアップの何が問題になっていますか? 編集:ここstty -aに、シェルスクリプトの出力を示しますpppd。 speed 38400 baud; rows 23; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch …
12 linux  debian  terminal  tmux  ppp 

1
SSH、tmux、GnuPGエージェントのベストプラクティス
暗号化ソフトウェアをGnuPGに統合しようとしていますが、紛らわしい問題に直面しています。 私の主要なユニットはヘッドレスサーバーで、tmuxでのみ仕事をしています。Xセッションはありません。したがって、pinentry-cursesを使用するようにgpg-agentを構成しました。このスクリプトを使用して、ログイン時にssh-agentエミュレーションで呼び出されるようにgpg-agentを構成しました。 if pgrep -u "${USER}" gpg-agent >/dev/null 2>&1; then eval `cat $gnupginf` eval `cut -d= -f1 $gnupginf | xargs echo export` else eval `gpg-agent -s --enable-ssh-support --daemon` fi すでにsshキーをgpg-agentに追加しましたが、別のsshセッションを試行するとコマンドがハングします。 gpg-agentを終了して新しいログインシェルを作成すると、エージェントが正常に動作することを発見しました(pinentry-cursesを呼び出してからssh-agentのように動作します)。 ただし、別のログインシェルを作成して(たとえば、別のtmuxペインを開いて)sshを試みると、コマンドがハングし、最初にエージェントを起動したログインシェルのコンテンツ上にpinentry-cursesウィンドウが印刷されます。 さらに、最初にエージェントを起動したシェルを閉じた場合、pinentry-cursesが呼び出され、CPUをクリンプする無限ループが発生します。(既知のバグ、http://bugs.debian.org/cgi-bin/bugreport.cgi? bug = 559936を参照してください。) 本質的に、GnuPGエージェントがssh-agentと同じようにシームレスに動作するように、セットアップの変更点を知りたいと思います。助けてくれてありがとう!
12 ssh  tmux  gpg 

2
エイリアスとtmux
エイリアスはで定義されている.bash_aliasesと.bashrcでは動作しませんtmux。 これは一部の構成で変更できるので、エイリアスは下で機能しtmuxますか?

2
tmuxでByobuを使用するときにVimでCtrl +矢印キーを使用すると問題が発生する
Vimでは、Ctrl +矢印キーで単語をスキップするように設定していました。これは、gnome-terminal内でVimを実行する場合にうまく機能します。 ただし、byobu(tmux)を使用すると、奇妙な動作を示します。カーソル以降のすべてが削除されます。 参考までに、これらは私のvim設定です: :inoremap <C-Left> <C-\><C-O>b :inoremap <C-Right> <C-\><C-O>w
12 tmux  byobu  vim 

2
tmux:左/右/上/下のペインへのキーの再マッピング
Tmuxでは、Ctrl-b+ を使用してペイン間を移動できます(→, ←, ↑, ↓)。 これを次のように再マッピングしたいと思います。 Ctrl-b+ Ctrl-(l, j, i, k)。 参考までに、キーのレイアウトはl,j,i,k矢印キーのレイアウトと似ていますが、手を動かさずにタイプする方が簡単です。 私はあちこちでいくつか編集してい.tmux.confますが、上記のコマンドを再バインドする方法に関する情報が見つかりませんでした。
12 tmux 

1
tmux.confファイルで環境変数を使用する
tmux.confファイルで環境変数を使用することは可能ですか?default-pathを環境変数に設定しようとしています。現在私が試しているのは: set -g default-path $MYVAR さらに、私ができるように$ MYVARがすでに設定されているかどうかを確認したいと思います。 if($MYVAR == "") set-environment -g MYVAR /somepath/ 何か案は?

3
Tmux-スクリプトからウィンドウ内の各ペインのペイン番号を取得しますか?
Tmuxの特定のペインのペインインデックスを見つける方法はありますか? 私は次のようなものを実行できることを知っています: tmux display-message -p "#{pane_index}" ただし、これはアクティブなペインでのみ機能します。それが実行されているどのペインでも動作するようにしたいのです。通常、アクティブなペインではないペインでスクリプトを実行するのは難しいのですが、を使用し:set-window-option synchronize-panesてすべてのペイン間で入力を同期するとできます。 これはどのように使用しますか? 私の仕事では、ロードバランサー内の複数の同一サーバーに同時に接続する必要があります。これは、Tmuxペインで行います。私は通常、ペインの同期機能をオンにして、入力したものをすべて各ペインに同時に送信できるようにします。これはうまくいきます。 私が見つけたのは、サーバーに接続し、毎回同じ「ペインインデックス」を使用して、各ペインに固有の何かを時々実行したいということです。たとえば、次のようなコマンドを実行します。 ssh NODE_$(get_pane_number) 各ペインで同期して実行すると、4つのペインがあるウィンドウで次のコマンドが実行されます。 ssh NODE_0 ペイン0 ssh NODE_1 ペイン1内 ssh NODE_2 ペイン2内 ssh NODE_3 ペイン3 もちろんこれをスクリプト化することもできますが、入力の同期を開始する前にしかうまくいきません。入力の同期も開始した後、これを実行したい場合があります。
12 tmux 

3
tmuxセッションの最後の端末を終了すると、別の端末に切り替えることができますか?
tmuxセッションの最後のターミナルを終了すると、自動的にtmuxが閉じ、親ターミナルに戻ります。代わりに、tmuxを閉じる代わりに別の実行中のセッションに切り替えることはできますか? TRxxx、電子メール、スクラッチなど、取り組んでいるすべてのタスクに対して新しい名前付きセッションを作成し、それらのいずれかが終了したら、すべてのターミナルでexitを実行してすべてのターミナルを閉じます。セッションの最後のターミナルでexitを実行すると、tmuxは親ターミナルに戻りますが、代わりに他の開いているセッションの1つに切り替えるだけで、再接続する必要はありませんか? この質問は「tmuxセッションを強制終了し、別のtmuxセッションを選択する」に似ていますが、ウィンドウを強制終了するのではなく、exitを使用して端末を適切に閉じたいと考えています。
12 tmux 

1
ASCIIモードでのbashセッションでのYouTubeビデオの消去
端末で、ASCIIモードでYouTube動画を視聴する方法はすでに見つけましたが、私の目標は、別のウィンドウを開かずにbashセッションで動画を視聴することです。 それで、私がすでにtmux セッションを持っているとします、そして私はします: $ watch-youtube <video-url> そのtmuxウィンドウ/ペイン(分割)で、そこで見たいと思います。 どうやってやるの? 関連する出力 $ mpv --vo help Available video outputs: vdpau : VDPAU with X11 opengl : Extended OpenGL Renderer xv : X11/Xv sdl : SDL 2.0 Renderer opengl-old : OpenGL (legacy VO, may work better on older GPUs) vaapi : VA API with …
12 terminal  tmux 

4
tmuxセッションを終了し、別のtmuxセッションを選択します
私はバインドXして以下を実行しようとしています: セッションを強制終了するかどうかをユーザーに尋ねる 入力した場合yは、セッションを終了します セッションが終了した後、別のセッション(最後、前、または次のセッション)を選択します 正しくないいくつかの同様のコマンド セッションを終了してターミナルを閉じます: bind X confirm-before -p "Kill #S (y/n)?" kill-session 強制終了するセッションの名前をユーザーに要求し、強制終了後の次のセッションを選択します。 bind X command-prompt -p "kill:" "switch-client -n \; kill-session -t '%%'" 同様のコマンドの例を見つけることができませんでした。うまくいかない解決策があります: bind X confirm-before -p "Kill #S (y/n)?" "SESSION='#S' \; \ switch-client -n \; kill-session -t \"$SESSION\""
11 tmux 

5
ターミナルマルチプレクサーをタイリングウィンドウマネージャーと一緒に使用すると、何か利点がありますか?
端末マルチプレクサー(画面、tmux)とキーボード駆動のタイリングウィンドウマネージャー(ratpoison、dwm、xmonad)の両方が同様の機能を提供します。両方を同時に使用するメリットはありますか?発生する可能性のある問題についてはどうですか?

6
tmuxが原因でanacondaが別のpythonソースを使用する
さて、私はanaconda環境にいて、どのpythonを実行しました。私は得る /home/comp/anaconda3/envs/env1/bin/python 次に、tmuxを起動し、source activate env1を実行してから、どのpythonを取得するか /home/comp/anaconda3/bin/python 私の環境はアクティブ化されていますが。anacondaにtmux内の同じパスを表示させるにはどうすればよいですか?
11 python  tmux 

3
tmuxがPS1プロンプトを色付けしない
最近、私はPS1変数を変更して、端末の表示の楽しみのためにかなりのソーラー色に対応することにしました。tmuxセッションにいないときは、すべてが素晴らしいです!虹、ポニー、ユニコーン、そして際立ったプロンプト!涼しい! ただし、問題はtmux内にあります。PS1の値が期待どおりであり、tmuxが実行されていないときと同じであることを確認しました\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]。 .bash_profile内のすべてのエイリアスなども期待どおりに機能しています。tmuxもecho -ne "\033[1;33m hi"、予想どおりに動作するため、問題なく色を表示していgls --colorます。 私の.bash_profileの現在の関連行はですがexport PS1="\[\033]0;\w\007\]\[\[\]\]\u\[\]@\[\[\]\]\h\[\]:\[\]\W\[\]$ \[\]"、元々は.bash_promptファイルにあるスクリプトを使用していくつかの条件などを処理していました。より単純なバージョンに戻してみました。 実行bashするとプロンプトが色付けされますが、各ペインで実行する必要があります。export PS1=[that long string I've already posted]しない。 私の.tmux.confは次のとおりです。 set-option -g default-command "reattach-to-user-namespace -l /usr/local/bin/bash" set -g default-terminal "xterm-256color" set-window-option -g automatic-rename on bind '"' split-window -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" bind c new-window -c "#{pane_current_path}" .bash_profileの関連部分: …
11 bash  osx  tmux  prompt 

2
「CTRL +矢印/秒」のgnome-terminal ANSIエスケープシーケンスとは何ですか?
~/.inputrcこれらの設定にbashを構成しようとしています (注:←、→左および右矢印キーを意味します) Ctrl+ ←-単語に戻る必要があります Ctrl+ →-単語を先にジャンプする必要があります 現在私はこれを持っていますが、~/.inputrc動作しません。Ctrl + arrow何も生成しません。 "\eC-5C":forward-word "\eC-5D":backward-word 私のエスケープシーケンスが間違っていると確信しています。組み合わせの 正しいエスケープシーケンスは何Ctrl + arrowですか? 端末:gnome-terminal内のtmux

2
Tmuxステータスバーシェルコマンドでの環境変数の使用
3つのタイムゾーンを表示するtmuxステータスバーを作成しようとしています US Eastern Time :: UTC :: Central European Time。TZ環境変数を使用すると、dateコマンドは指定されたタイムゾーンの時刻を表示します。 私はこのtmux.conf設定でそうしようとしました: set -g status-right "#[fg=white]#S #I:#P #[fg=yellow]:: %d %b %Y #[fg=green]:: #(TZ=America/New_York date +%H:%M) :: #(date -u +%H:%M) UTC :: #(TZ=Europe/Belgrade date +%H:%M)" ただし、パスTZ=fooはの内部では機能しません#(…)。(私dateは期待したものの代わりにサーバーを取得します)。助言がありますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.