AwesomeWMでPolybarが起動しないのはなぜですか?

AwesomeWMでPolybarが起動しないのはなぜですか?

Awesome Window Managerの実行後に実行する必要があるアプリケーションの起動ロジックを含むシェルスクリプトがあります。現在はポリバーとピコムを発売している。 Picomはうまく機能しますが、Polybarはまったく起動しません。

#!/bin/sh
# See https://wiki.archlinux.org/title/Awesome#Autostart

run() {
  if ! pgrep -f "$1" ;
  then
    "$@"&
  fi
}

run "~/.config/polybar/launch.sh"
run "picom --experimental-backends -b"

rc.luaすべてが初期化されたら、上でシェルスクリプトを起動します。これは、次のコードが私のrcファイルの末尾にあることを意味します。

-- See https://wiki.archlinux.org/title/Awesome#Autostart
awful.spawn.with_shell("~/.config/awesome/autorun.sh")

~/.config/polybar/launch.sh:

#!/bin/bash

# Terminate already running bar instances
killall -q polybar
# If all your bars have ipc enabled, you can also use
# polybar-msg cmd quit

# Launch Polybar, using default config location ~/.config/polybar/config.ini
polybar mybar 2>&1 | tee -a /tmp/polybar.log & disown

echo "Polybar launched..."

奇妙なことは、~/.config/polybar/launch.sh端末で実行すると正常に実行されることです。私のウィンドウマネージャ(rc.lua正確に言えば、ファイルから)で起動したときになぜ起動しないのですか?

答え1

次に更新して問題を解決してくださいautorun.sh

#!/bin/sh
# See https://wiki.archlinux.org/title/Awesome#Autostart

run() {
  if ! pgrep -f "$1" ;
  then
    "$@"&
  fi
}

run "$HOME/.config/polybar/launch.sh"

exec picom --experimental-backends &

他の人のドットファイルからコピーしましたが、なぜ初期コードが機能しないのかわかりません...

関連情報