무선 USB 키보드 또는 마우스 (Linux Distro 용)를 사용하여 일시 중지


18

나는 해결책을 찾기 위해 몇 시간을 찾고 있었고 방금 찾았습니다. 모든 사람과 공유하고 싶습니다. 이런 식으로 솔루션을 더 빨리 찾기 위해이 문제를 쉽게 검색 할 수 있습니다. 제목과 같이 아래에 해결책이 있습니다.

답변:


26

터미널에 충돌 :

grep . /sys/bus/usb/devices/*/power/wakeup

결과적으로 모든 USB가 비활성화되어 있음을 알게되었습니다. 이제 다음을 입력하십시오 :

1.

sudo su

우리는 이제 뿌리 특권을 가지고 있습니다.

2. 8 usb 포트 ( 당신은 많은 usb 포트 당신이 ), 그래서 :

echo enabled > /sys/bus/usb/devices/usb1/power/wakeup
echo enabled > /sys/bus/usb/devices/usb2/power/wakeup
echo enabled > /sys/bus/usb/devices/usb3/power/wakeup
echo enabled > /sys/bus/usb/devices/usb4/power/wakeup
echo enabled > /sys/bus/usb/devices/usb5/power/wakeup
echo enabled > /sys/bus/usb/devices/usb6/power/wakeup
echo enabled > /sys/bus/usb/devices/usb7/power/wakeup
echo enabled > /sys/bus/usb/devices/usb8/power/wakeup

계속해서 테스트하십시오. 이제 무선 또는 유선 USB 키보드 및 마우스에서 깨울 수 있습니다.

따라서 모든 단계를 활성화해야하는 이유는 다음 단계에서 재부팅 할 때마다 명령을 실행하기 위해 rc.local에 작성하고 재부팅 후에는 일부 Linux 배포판 (모두)이 USB 포트를 변경하기 때문입니다. 리눅스가 일시 중단 또는 최대 절전 모드에 있기 때문에 Wi-Fi를 사용하여 아무것도 다운로드 할 수 없으므로 의도적으로 깨우지 않으면 깨어날 수 없으므로 모든 기능을 활성화하여 문제가 발생할 염려가 없습니다. .

다음 단계:

삼.

sudo nano /etc/rc.local

그리고 2 단계의 모든 내용을 거기에 붙여 넣습니다 (물론 출구 0 전에).

그게 다야. 이제부터는 무선 USB와 마우스를 사용하여 일시 중지 상태에서 깨어날 수 있습니다.

나는 그것이 당신 모두에게 효과가 있기를 바랍니다. 이 안내서는 인터넷에서 가능한 다른 모든 솔루션을 테스트 한 후에 작성되었습니다.


6
어떤 장치가 어떤 장치인지 알아 내려면 /sys/bus/usb/devices/<device id>/product텍스트 설명을 찾아보십시오 .
ntc2

" grep . /sys/bus/usb/devices/*/power/wakeup" 에서 모든 기기를 사용하도록 설정 했지만 여전히 작동하지 않습니다. 키보드와 마우스가 화면에 상주하는 동글에 무선으로 간접적으로 연결되어 있기 때문일 수 있습니다. 화면이 USB를 통해 노트북에 연결되었습니다.
AlikElzin-kilaka

1
@ ntc2가 말했듯이 이것을 사용하여 각각의 설명을보십시오 : grep . /sys/bus/usb/devices/*/product내가보고있는 것을 알아내는 데 도움이되었습니다.
Ben Yitzhaki

그래도 작동하지 않으면 PC가 절전 모드 일 때 장치 (키보드 / 마우스)에 여전히 전원이 공급되는지 확인하십시오. 장치에 LED가없는 경우 USB 전원 모니터를 사용하여 온라인으로 약 $ 10를 찾을 수 있습니다. USB 포트의 전원을 확인할 수 있습니다.
J Smith

이 질문의 영구적 인 부분은 더 이상 적어도 우분투 18.04에서 작동하지 않습니다. 추가 ( askubuntu.com/a/874701/516072 에 의해 제공이 답변에) 파블로는-theodorou 우분투 18.04에 영구 부분에 대한 도움
로렌스

10

위의 내 가이드 외에도이 정보를 추가하고 싶습니다. 최근에 절전 모드에서 깨어 난 후 일부 무선 USB 장치가 비활성화되어 다시 돌아온다는 것을 알았습니다. 반복합니다. 일부 USB 장치 만 그렇게 할 수 있습니다. 그래서이 작은 가이드를 내 가이드에 추가하지 않았습니다.

위의 지시대로 PC를 깨우지 만 나중에는 갑자기 다시 깨지 않습니다.

해결책:

터미널을 열고 다음을 수행하십시오.

lsusb

키보드 장치 ID 정보에서 첫 번째 4 자리 숫자는 공급 업체 ID이고 다음 4 자리 숫자는 제품 ID입니다 (스크린 샷 참조). 여기에 이미지 설명을 입력하십시오

다음은

sudo nano /etc/udev/rules.d/10-wakeup.rules

여기서 "wakeup"은 원하는 스크립트 이름을 입력합니다. 숫자 10은 다른 많은 udev 규칙이있는 경우 우선 순위이며 'rule'이 다른 규칙보다 먼저 실행됩니다.

이를 붙여넣고 공급 업체 ID 및 제품 ID를 자신의 무선 키보드 공급 업체 ID 및 제품 ID로 바꿉니다.

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="062a", ATTRS{idProduct}=="4101" RUN+="/bin/sh -c 'echo enabled > /sys/bus/usb/devices/usb8/power/wakeup'"

* usb8 for my 무선 키보드입니다 (스크린 샷 (Bus 008)에서도 볼 수 있음).

Ctrl+ O를 눌러 저장하고 Ctrl+ X를 종료하고 재부팅합니다.


4
이것을 첫 번째 답변에 통합하는 것이 좋습니다.
ntc2

1
그것들은 2 가지입니다. 첫 번째는 깨우기 문제에 대한 답입니다. 두 번째 방법은 "부팅 없음을 실행하는 규칙을 만드는 방법"과 비슷하며 모든 사람이 그렇게하는 방법을 알지 못하므로 간단한 아마추어 가이드가 없기 때문에 "추가"일뿐입니다.
Pavlos Theodorou

2

Pavlos Theodorou의 답변이 매우 유용합니다. dmesggrep을 통해 두 번 연결 한 다음 egrep를 한 번 수행하고 마지막으로 tail 을 사용 하여 마우스가 최신인지 확인 하여 부팅시 마우스 / 키보드가 연결된 USB 장치를 찾을 수 있다고 덧붙이고 싶습니다. 기입.

이 방법을 사용하면 모든 USB 포트 에서 깨우기를 활성화 할 필요가 없습니다 .

다음을 내 /etc/rc.local 파일에 저장하면 한 USB 포트에서 다른 USB 포트로 이동하더라도 매번 내 logitech 수신기를 찾습니다. 그냥의 이름으로 대체 하여 "로지텍 K270"대신 dmesg 명령에서 키보드 나 마우스를

KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup

이것은 부팅시 작동하지만 일시 중단에서 깨어나지 않는 것처럼 보이므로 / lib / systemd / system-sleep /에 스크립트 파일을 넣어야했습니다. 그것은, 그것은 같은 세계적으로 실행 설정 만들고 00 내 스크립트를 다음과 같이 구성되어 99 사이의 두 자리 숫자로 시작되면 다시 substite있는 이름을 부여 하여 dmesg 명령에서 키보드 / 마우스 verbage를을 :

#!/bin/sh

# Action script to enable wake after suspend by keyboard or mouse

if [ $1 = post ]
    then
    KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
    echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi

if [ $1 = pre ]
    then
    KB="$(dmesg | grep "Logitech K270 as" | grep -o -P "usb.{0,5}" | egrep -o ".{0,3}$" | tail -1)"
    echo enabled > /sys/bus/usb/devices/${KB}/power/wakeup
fi

어떤 이유로 든 설명 할 수없는 '포스트'수면 if 문은 다른 모든 깨우기에만 작동하지만 ... 'pre'수면 if 문은 매번 작동하는 것 같습니다.


1

위에서 언급 한 답변 중 어느 것도 도움이되지 않았습니다. 그렇기 때문에 여기에 내 글을 게시합니다.

USB 장치의 일시 중단에서 깨우기 활성화 / 비활성화

Ubuntu 18.04를 기반으로 KDE 네온 5.16.2에서 테스트되었지만 모든 배포에서 작동합니다.


1. USB 장치 목록을 표시하여 활성화 / 비활성화하려는 장치를 식별하십시오.

grep . /sys/bus/usb/devices/*/product

다음과 같은 것을 얻어야합니다.

/ sys / bus / usb / devices / 3-3 / product : 코드 광 마우스
/sys/bus/usb/devices/3-4.3/product:802.11n WLAN 어댑터
/sys/bus/usb/devices/3-4.4/product:USB 수신기
/sys/bus/usb/devices/3-4/product:USB2.0 허브
/sys/bus/usb/devices/4-4/product:USB3.0 허브
/ sys / bus / usb / devices / usb1 / product : EHCI 호스트 컨트롤러
/ sys / bus / usb / devices / usb2 / product : EHCI 호스트 컨트롤러
/ sys / bus / usb / devices / usb3 / product : xHCI 호스트 컨트롤러
/ sys / bus / usb / devices / usb4 / product : xHCI 호스트 컨트롤러


2. 모든 USB 장치의 깨우기 상태를 확인하십시오.

grep. / sys / bus / usb / devices / * / power / wakeup

결과는 다음과 같아야합니다.

/ sys / bus / usb / devices / 1-1 / power / wakeup : 비활성화
/ sys / bus / usb / devices / 2-1 / power / wakeup : 비활성화
/ sys / bus / usb / devices / 3-11 / power / wakeup : 비활성화
/ sys / bus / usb / devices / 3-3 / power / wakeup : 사용
/sys/bus/usb/devices/3-4.4/power/wakeup : 비활성화
/ sys / bus / usb / devices / 3-4 / power / wakeup : 비활성화
/ sys / bus / usb / devices / 4-4 / power / wakeup : 비활성화
/ sys / bus / usb / devices / usb1 / power / wakeup : 비활성화
/ sys / bus / usb / devices / usb2 / power / wakeup : 비활성화
/ sys / bus / usb / devices / usb3 / power / wakeup : 비활성화
/ sys / bus / usb / devices / usb4 / power / wakeup : 비활성화

필자의 경우 깨우기는 이전 목록에 따라 "코드 광학 마우스"인 USB 장치 3-3에 대해서만 활성화됩니다.

무선 키보드의 경우에만 일시 중지에서 깨우기를 활성화하고 나머지는 비활성화합니다. 키보드 USB 수신기는 허브에 연결되어 있으며 이전 목록 ( "USB 수신기")의 3-4.4에 해당합니다.


3. 작업을 수행하는 스크립트를 작성하십시오.

루트 권한을 가지려면

sudo su

그런 다음 스크립트 용 파일을 만듭니다 (파일을 "usbwakeup"또는 원하는 설명이라고 할 수 있음).

nano /etc/init.d/usbwakeup 

파일 내용 "SCRIPT ACTIONS"섹션을 변경하여 필요에 맞게 조정하십시오 (언젠가 다시 열면 실제로 수행 할 작업을 알기 위해 스크립트에 주석을 추가하는 것이 좋습니다).

#! / 빈 / bash
#
#######################
# 일반 정보 #
#######################
#
#-이 스크립트는 USB 장치에 대한 일시 중지에서 깨우기를 활성화 / 비활성화합니다.
#
#-스크립트에 실행 권한이 필요합니다.
#
#-시스템이 시작될 때이 스크립트를 실행하려면
# 우선 순위가 S01 인 /etc/rc3.d/의 심볼릭 링크
# (예 : /etc/rc3.d/S01usbwakeup)
#
###########################
관련 유용한 명령 #
###########################
#
#-USB 장치 식별 :
# grep. / sys / bus / usb / devices / * / product
#
#-USB 장치의 "일시 중지"상태를 확인하십시오.
# grep. / sys / bus / usb / devices / * / power / wakeup
#
#
##################
# 스크립트 액션 #
##################
#
# 광 마우스 일시 중지에서 깨우기를 비활성화합니다
에코 비활성화> / sys / bus / usb / devices / 3-3 / power / wakeup
#
# 무선 키보드 일시 중지에서 깨어날 수 있습니다
USB 포트 번호 4의 USB 3.0 허브에 연결되어 있음
에코 활성화> /sys/bus/usb/devices/3-4.4/power/wakeup


4. 실행 권한을 부여하십시오.

chmod +x /etc/init.d/usbwakeup


5. 부팅시 시작할 수 있도록 /etc/rc3.d/에 심볼릭 링크를 만듭니다.

sudo ln -s /etc/init.d/usbwakeup /etc/rc3.d/S01usbwakeup


시스템을 다시 시작하면 모든 것이 스크립트에 지정된대로 작동합니다. 변경 사항은 각 시스템 부팅시 실행되므로 영구적입니다.

문의 한 출처 (이 게시물 제외) :

https://ubuntuforums.org/showthread.php?t=2388336

https://www.thomasmonaco.com/prevent-usb-devices-waking-ubuntu-sleep/

/unix/83748/the-rc0-d-rc1-d-directories-in-etc


방금 동일한 목적으로 간단한 GUI를 만드는 방법을 설명하는 흥미로운 게시물을 찾았습니다. 나는 그것을 테스트하지는 않았지만 누군가 그래픽으로 만들려고하고 한 번의 클릭으로 쉽게 활성화 / 비활성화 할 수 있습니다 : bernaerts-nicolas.fr/linux/74-ubuntu/220-ubuntu-resume-usb- 숨겨지다
Juan Gómez Carrillo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.