Если вы хотите проверить, использует ли какой-либо процесс DISPLAY: 0
import psutil
def GetListOfDisplays():
displays=[]
for proc in psutil.process_iter():
try:
if('DISPLAY' in proc.environ()):
displays.append(proc.environ()['DISPLAY'].split(':')[1])
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
pass
return list(set(displays))
print( '0' in GetListOfDisplays())
Если есть процесс, использующий DISPLAY =: 0печать'Правда'еще'Ложь'
Проверено на Python 3.7.4
Примечание:Если вы выполняете этот скрипт как пользователь без прав администратора, скажем, гость. Тогда он не сможет увидеть, какой ДИСПЛЕЙ используют процессы администратора. Запуск от имени пользователя root позволит вам получать информацию о любом процессе независимо от пользователя.
Также вам потребуется установленный psutil
pip install psutil
psutil - pypi.org