最初のセッションでのみ端末コマンドを実行する

最初のセッションでのみ端末コマンドを実行する

ターミナルにウェルカムメッセージを表示するコマンドを実行したいのですが、デスクトップセッション内の最初のターミナルセッションでのみ実行したいと思います。 .bashrcにコマンドを追加して実行する方法を知っていますが、これらのコマンドは各ターミナルセッションで実行されるため、コマンドを最初のコマンドのみに制限したいと思います。これを行う方法を知っている人はいますか?ありがとうございます。

違いがある場合は、Ubuntu 21.10ベータ版を使用しています。

ベストアンサー1

まず...デスクトップセッションで

したがって、デスクトップセッションと対話する必要があります!

アイデア:セッション中にサービスを確認してください。存在しない場合は、ウェルカムメッセージを印刷してサービスを開始してください。

たとえば、ユーザーサービスを作成しますwelcome-msg.servicehttps://wiki.archlinux.org/title/systemd/User#Writing_user_units):

~/.config/systemd/user/welcome-msg.service:

[Unit]
Description=Welcome Message one-shot service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/true

その後、以下から~/.bashrc

# Check whether the service has been started
if !  systemctl --user is-active --quiet welcome-msg; then
  echo "Welcome!"
  systemctl start welcome-msg
fi

おすすめ記事