Tmuxの新しいセッションが返す:「ソケットを作成できません」


8

byobuセッションを誤って終了してしまい(kill -9 byobuSessionId)、別のbyobuコマンドを開始しようとすると、「ソケットを作成できません」で失敗します。

また、tmux new-session「ソケットを作成できません」を返します

私はsudo service screen-cleanup start成功せずに試しました!

どうすれば解決できますか?

回答:


7

strace -f -e trace = file tmuxコマンドの出力を確認した場合、問題はおそらくtmuxプロセスの停止によるものです 。

tmuxによって作成されたソケットファイルが表示されます。私の場合は / tmp // tmux-1001 / default /にあります。

このファイルを削除し、oobuコマンドを実行するだけです。


5

/tmp/tmux*/ディレクトリの権限を確認してください。それらはあなたが所有し、他の誰もアクセスできないようにする必要があります。

したがって、権限を次のように変更します。

chmod 700 -R /tmp/tmux*

ソケットディレクトリはあなたが所有し、誰もがアクセスできないことが重要です。そうでない場合、どのユーザーもtmuxサーバーを使用できます。しばらくの間、tmuxは誤ってアクセスモードチェックをスキップしました。これは2.0で修正されました。

システムが/ tmpに適切な所有権でディレクトリを作成することをサポートしていない場合は、-Sを使用して明示的にソケットを指定する必要があります。チェックは重要であり、Unixファイル許可セマンティクスを持たないシステムはサポートしません。


0

の許可により/tmp、この問題が発生する可能性があります。
の権限がで/tmpあるかどうかを確認できます1777。そうでない場合は、次のようにします。

sudo chmod 1777 /tmp

1
/tmp4777が必要です(+ tフラグが必要です)。それがなければ、誰もがファイルを削除し、以下の他のファイルまたはディレクトリの名前を変更することができます/tmp。さらに、それは魔術師のような答えです(「Xを実行すると、Yを取得します」-しかし、説明はありません)。
peterh-モニカを2017年

@peterh許可を思い出させてくれてありがとう。
Honghe.Wu 2017

0

共有サーバーで同じ問題に遭遇しました。ホームディレクトリの外部に特別な権限がありませんでした。tmuxが、ソケットを作成する〜/ tmpフォルダーにアクセスしようとしていた可能性があります。そのフォルダが存在しないため、エラーが発生しました。

私の場合の解決策は、フォルダ〜/ tmpを作成することで、すべて正常に動作し始めました。


0

私は同じ問題に遭遇し、以下が私の解決策です:

  1. 新しいフォルダを作成します。 /tmp/$(id -u)
  2. 所有者を変更: chown -R $(id -nu):$(id -nu) /tmp/$(id -u)
  3. 権限を変更: chmod -R 700 /tmp/$(id -u)

できます!




-1

コマンドstrace -f -e trace=file tmuxを使用すると、tmuxが呼び出したファイルを確認できます。/ tmpフォルダーの権限が原因で問題が頻繁に発生します。Ubuntu Serverの標準インストールでは、権限は777に設定されています。

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