logname /who -u /現在のセッションのpidを取得する方法

logname /who -u /現在のセッションのpidを取得する方法

「logname」コマンドは、後続の「su」呼び出しに関係なくログインしたユーザーの名前を提供します。たとえば、現在のMintでは "logname"コマンドが壊れているため、ログ名は提供されません。他のコマンドで機能を取得したいです。 "who -u"コマンドの出力には、結果行の1つに必要な情報が含まれています。例:

schade   tty7         2019-04-13 10:01 02:41        2674 (:0)
user1    tty8         2019-04-13 10:05 02:41        3518 (:1)
schade   pts/3        2019-04-13 10:33   .          6274 (fd00::eb5d:1659:bda5:8b95)
user2    tty9         2019-04-13 10:34 02:41        6475 (:2)
schade   pts/7        2019-04-13 12:16   .         10727 (fd00::eb5d:1659:bda5:8b95)

しかし、どれ?各行の最後のエントリから2番目のエントリとして現在のログインのpid(ここではシェルのpidではなく2674)を見つける必要があります。または、コンピュータ名をフィルタリングするには、最後に「:0」でエンコードされたものとして検索する必要があります。どうすればいいですか?

答え1

実行中のシステムlogind

loginctl user-status | head -n 1

現在のセッションにログインしているユーザーのログイン名とuidが表示されます。sudoなどについても適用されます。

関連情報