Fedora 30(32 출시 예정)을 기반으로 하는 "디지털 사이니지 클라이언트"에 대한 자동 시작 설치가 설정되어 있으며 현재 화면에 있는 내용에 대한 실제 시각적 피드백을 받아야 합니다. 명령줄을 통해 Gnome-Remote-Desktop을 활성화해 보았습니다(참조:명령줄을 통해 Gnome 화면 공유를 활성화하시겠습니까?) 하지만 안타깝게도 그럴 수 없습니다.
따라서 새로운 방법은 스크린샷을 찍고 scp를 통해 복사하는 것입니다. gnome 터미널을 통해 클라이언트에서 직접 스크린샷을 찍을 수 있지만 gnome-screenshot
원격으로 수행하는 방법은 모르겠습니다. KDE Spectacle이나 Shutter와 같은 다른 도구도 사용해 보았으나 운이 없었습니다.
한 가지 아이디어는 스크린샷을 찍기 위해 cronjob을 설정하는 것입니다.
$> crontab -e
1 * * * * gnome-screenshot
그러나 이것은 작동하지 않습니다. journalctl _COMM=cron
설명하다-- No entries --
Gnome-Wayland-Fedora 데스크탑에서 스크린샷을 찍는 방법을 아는 사람이 있습니까? crontab을 통해 작동해야 합니까?
답변1
웨이랜드를 위해
n-tchen의 정보에 따르면,화재 사격(Fedora 저장소에서) 훌륭하게 작동합니다.
flameshot screen -p ~/
SSH를 통해 연결하는 경우 WAYLAND_DISPLAY=wayland-0
이전 줄의 시작 부분에 이를 추가하세요.
대신 Flameshot을 사용할 수도 있지만 gnome-screenshot
여전히 ssh에 대해 위의 항목을 추가해야 합니다.
추가 정보(원천):
Wayland에서 크로스 플랫폼 스크린샷을 찍는 방법은 다음과 같습니다.xdg-데스크탑 포털(Flatpak 외부에서도 작동합니다). 바라보다https://github.com/Flatpak/xdg-desktop-portal/blob/master/data/org.freedesktop.portal.Screenshot.xml
마지막으로 Pyscreenshot은 Wayland를 지원합니다.GitHub 읽어보기
X11의 경우
ImageMagick의 명령은 import
스크린샷을 찍는 데 훌륭한 역할을 합니다.
import -silent -window root /tmp/screenshot.jpg
SSH를 통해 연결 DISPLAY=:0.0
하고 로컬로 로그인한 것과 동일한 사용자로 로그인해야 하는 경우 이전 줄의 시작 부분에 이를 추가하세요.
crontab에서 실행하려면 다음 단계에 따라 설정하세요. 6분마다 스크린샷을 찍어 날짜/시간으로 인코딩된 파일 이름과 함께 저장합니다 /root/monitor/
. Ubuntu 16.04 및 18.04에서 테스트되었습니다.
echo -n "/bin/bash -c '" >cronexec
echo -n 'export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin && ' >>cronexec
echo -n 'export HOME=/root && ' >>cronexec
echo -n 'export D1=/tmp/gneemp && ' >>cronexec
echo -n 'export F2=`date --utc +/root/monitor/%Y-%m-%dT%H:%M.jpg` && ' >>cronexec
echo -n 'mkdir -p $D1 && ' >>cronexec
echo -n 'chmod 643 $D1 && ' >>cronexec
echo -n 'DISPLAY=:0.0 sudo -u `who --users |head -1 |grep -o "^\S*"` import -quiet -silent -window root $D1/tmp.jpg && ' >>cronexec
echo -n 'mkdir -p /root/monitor && ' >>cronexec
echo -n 'mv $D1/tmp.jpg $F2 && ' >>cronexec
echo -n 'rmdir $D1 ' >>cronexec
echo "'" >>cronexec
perl -p -i -e 's|\%|\\\%|g;' cronexec # from the manpage: "Percent-signs (%) in the command, unless escaped with backslash (\) ..."
(sudo crontab -l 2>/dev/null; echo -n "*/6 * * * * "; cat cronexec) |sudo crontab - && rm cronexec