Tiêu đề nói lên tất cả. pgrep Xvfbchỉ 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 Xvfbchỉ 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-locktệ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 :0là đủ cho nhu cầu của tôi. Cảm ơn một lần nữa!
xdpyinfolừ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.