Tiêu đề nói lên tất cả. pgrep Xvfb
chỉ thực hiện một nửa mẹo. Nó sẽ không cho tôi biết số hiển thị.
Tiêu đề nói lên tất cả. pgrep Xvfb
chỉ thực hiện một nửa mẹo. Nó sẽ không cho tôi biết số hiển thị.
Câu trả lời:
Tôi không chắc chắn những gì bạn đang cố gắng thực hiện, nhưng bạn có thể kiểm tra xem Màn hình X có khả dụng hay không bằng cách chạy "x thông tin hiển thị":
xdpyinfo -display :0 >/dev/null 2>&1 && echo "In use" || echo "Free"
Lưu ý: nếu bạn không thể truy cập vào màn hình, nó cũng sẽ được báo cáo là "Miễn phí". Một cách khác là kiểm tra sự tồn tại của /tmp/.X0-lock
tệp chứa tệp PID của máy chủ X.
Thay vì hiển thị lệnh, một cách đáng tin cậy hơn sẽ là kiểm tra các quy trình khớp với nhị phân:
pids=$(pidof /usr/bin/Xvfb)
if [ -n "$pids" ]; then
processes="$(ps --format command --no-headers -ww --pid $pids)"
else
echo "Not running"
fi
Nguồn: https://github.com/Bumblebee-Project/Bumblebee/blob/master/install-files/common-fifts#L112
display=":${processes##*:}";display="${%% *}"
để lấy số hiển thị (giả sử nó được đưa ra với lệnh được thực hiện Xorg
ít nhất)
:0
, vì vậy kiểm tra đơn giản :0
là đủ cho nhu cầu của tôi. Cảm ơn một lần nữa!
xdpyinfo
lừa tôi, cảm ơn! Btw. Tôi muốn đặt biến env HIỂN THỊ dựa trên Xvfb chạy trên: 0.