1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu で特定の screen をグループ間で共有できるようにする

Last updated at Posted at 2024-01-23

はじめに

雑記です。許してね。
色々書こうかと思ってるけど、追記しないかも。許してね。

screen は事前にインストールされているものとするよ。

環境

Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-91-generic x86_64)

まとめ

以下を行うと screen をグループ間で共有できるようになる。

Setup
sudo chmod u+s /usr/bin/screen
sudo chmod 755 /var/run/screen

# 0755 に書き換えちゃってもいいかも
sudo rm /etc/tmpfiles.d/screen-cleanup.conf
Exec_example
screen -dmS <session_name> <command>
/path/to/screen-addgrp.sh <group_name> <session_name>
/path/to/screen-addgrp.sh
#!/bin/bash
screen -p 0 -S $2 -X eval "multiuser on"

users=(`getent group $1 | cut -d ':' -f 4 | tr -s ',' ' '`)
for usr in "${users[@]}" ; do
        #echo "[ ${usr} ]"
        screen -p 0 -S $2 -X eval "acladd ${usr}"
done

他ユーザーで以下のようなコマンドを実行することでアタッチできる

screen -ls <owner_user>/               # セッション名を確認
screen -x <owner_user>/<session_name>  # アタッチ

Systemd によって作り出す screen をグループ間で共有

ExecStart の部分を以下のような構造にする

in_hogehoge.service
ExecStart=/usr/bin/screen -DmS <session_name> /bin/sh -c '/path/to/screen-addgrp.sh <group_name> <session_name>;/path/to/start/<command> <argument_list>'

参考URL

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?