ターミナルにウェルカムメッセージを表示するコマンドを実行したいのですが、デスクトップセッション内の最初のターミナルセッションでのみ実行したいと思います。 .bashrcにコマンドを追加して実行する方法を知っていますが、これらのコマンドは各ターミナルセッションで実行されるため、コマンドを最初のコマンドのみに制限したいと思います。これを行う方法を知っている人はいますか?ありがとうございます。
違いがある場合は、Ubuntu 21.10ベータ版を使用しています。
ベストアンサー1
まず...デスクトップセッションで
したがって、デスクトップセッションと対話する必要があります!
アイデア:セッション中にサービスを確認してください。存在しない場合は、ウェルカムメッセージを印刷してサービスを開始してください。
たとえば、ユーザーサービスを作成しますwelcome-msg.service
。https://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