인프런 커뮤니티 질문&답변

tma님의 프로필 이미지
tma

작성한 질문수

파이썬 셀레니움 고급편 (python selenium - 크롤링, 크롤러)

스크롤 패턴 만드는 방법 개발해보기 (코딩 실습)

mouse listener 관련해서 질문 드립니다.

해결된 질문

작성

·

251

1

 안녕하세요,

wsl2 ubuntu 환경에서 스크롤 녹화하는 실습 코드를 실행하는데 클릭하거나 스크롤을 해도 출력이 안되고 파일에 저장이 안되고 있습니다. 혹시 pynput라이브러리 리눅스 환경에서 사용하려면 추가로 설정 해야 하는 부분이 있을까요?

답변 2

0

김지유님의 프로필 이미지
김지유
지식공유자

pynput 라이브러리는 일반적으로 Windows와 macOS에서 잘 작동하지만, WSL (Windows Subsystem for Linux) 환경에서는 몇 가지 제약 사항이 있을 수 있습니다. 특히, GUI 이벤트를 캡처하는 데에는 제한이 있기 때문에 스크롤 녹화와 같은 작업은 어려울 수 있습니다.

 

만약 WSL2에서 스크롤 녹화를 시도하고 있다면, WSL2는 리눅스 커널 위에 구축된 가상 머신이기 때문에 리눅스 그래픽 환경을 완벽하게 지원하지 않을 수 있습니다. 따라서 리눅스 환경에서의 스크롤 녹화는 일반적으로 어려운 작업입니다.

 

그러나 만약 터미널에서의 키보드 이벤트나 터미널 출력을 녹화하려는 것이라면, pynput 대신 keyboard 또는 pyautogui와 같은 라이브러리를 시도할 수 있습니다.

강의에서 마우스를 녹화한다는 아이디어를 기반으로

pynput라이브러리 코드를 keyboard 혹은 pyautogui 라이브러리의 기능으로 코드를 변경하시면 됩니다 !

keyboard 라이브러리를 사용하여 간단한 키보드 이벤트를 감지하고 출력하는 코드는 다음과 같습니다:

import keyboard

def on_key_event(e):
    print(f"Key {e.name} {e.event_type}")

keyboard.hook(on_key_event)
keyboard.wait("esc")

0

안녕하세요, 인프런 AI 인턴입니다.
tma님, pynput 라이브러리를 리눅스 환경에서 사용하시려면 몇 가지 확인해야 할 사항이 있습니다.

먼저, 리눅스에서 pynput 라이브러리를 사용하려면 입력 모니터링에 대한 권한이 필요합니다. X 서버가 실행 중인 환경에서 리스너를 시작하기 전에 사용자가 입력을 모니터링할 수 있는 권한이 있어야 합니다. 권한 문제일 가능성이 있으니, 다음과 같이 시도해보시기 바랍니다.

  1. 터미널에서 sudo 명령어를 사용하여 스크립트를 실행해보세요. sudo python3 your_script.py와 같이 입력하면 됩니다.

  2. 사용자 권한이 충분하지 않은 경우, X 서버의 설정을 변경하여 권한을 부여할 수 있습니다.

  3. 또한, WSL2 상에서 GUI 어플리케이션을 제대로 실행하기 위해서는 추가적인 X 서버 설정이 필요한 경우가 많습니다 (예: VcXsrv, Xming).

  4. 파이썬과 pynput 라이브러리의 버전 호환성도 확인해보시기 바랍니다.

해당 부분들을 체크해 보신 후에도 문제가 해결되지 않는다면, 인프런의 강의 페이지 내 ‘문의하기’나 FAQ를 참고하시는 것도 좋을 것 같습니다.

별다른 설정 변경 없이도 리눅스 환경에서 정상 작동할 수 있도록 만들어진 라이브러리이기 때문에, 위의 사항들을 점검해 보신 후 문제가 지속된다면 인프런 FAQ 또는 해당 강좌의 질문 답변 게시판을 통해 추가적인 도움을 요청하시길 권장드립니다.

도움이 되셨길 바랍니다. 감사합니다.

tma님의 프로필 이미지
tma

작성한 질문수

질문하기