ฉันจะป้องกันการแจ้งเตือนและไอคอนป๊อปอัปเมื่อโทรศัพท์เชื่อมต่อกับ USB ได้อย่างไร


12

เงื่อนไข: การแจ้งเตือนที่ไม่เกี่ยวข้องและป๊อปอัปเมื่อโทรศัพท์เชื่อมต่อกับ USB
เงื่อนไขที่แตกต่าง: การจัดการพลังงานล้มเหลวด้วย USB, การจัดการการ์ดเครือข่ายล้มเหลว
ส่วนสนับสนุน: การแจ้งเตือนป๊อปอัปและคำเตือน dmesg ส่วนใหญ่เกิดขึ้นเมื่อสถานะพลังงานสูงถึงสูงสุด แต่ค่อนข้างมีเสถียรภาพเมื่อเปอร์เซ็นต์สถานะพลังงานคงที่

ตัวจัดการไฟล์ยังคงเปิดอยู่เมื่อฉันเชื่อมต่อโทรศัพท์กับแล็ปท็อปผ่าน USB (รูปที่ 1 และ 2) นอกจากนี้ยังมีไอคอนป๊อปอัพในแถบด้านซ้ายมือ (รูปที่ 3) นอกจากนี้ยังมีการเปิด / ปิดการแจ้งเตือนการเชื่อมต่ออินเทอร์เน็ตบ่อยครั้งเมื่อทำการปล่อยสัญญาณ (รูปที่ 4 และ 5) สายเคเบิลที่มีคุณภาพไม่ดีจะเพิ่มความถี่ของการรบกวนเหล่านั้น การแจ้งเตือนทุกประเภทสามารถทำได้หลายครั้งต่อนาที อัตราการเพิ่มขึ้นเมื่อแบตเตอรี่ถึงสถานะพลังงานสูง แต่ยังคงมีเสถียรภาพเมื่อชาร์จแบตเตอรี่เต็ม

  • ฉันทำ wjandrea ของข้อเสนอ gsettings set org.gnome.desktop.media-handling automount-open falseซึ่งจะช่วยแก้automount-openปัญหาของdmesg | tailรัฐที่นี่

คุณจะเห็นข้อผิดพลาดประมาณ 10-30 windows (รูปที่ 1 และ 2) และไอคอนทางด้านขวาของโทรศัพท์ที่เปิดไปมา (รูปที่ 3) เมื่อเพิ่งทำให้อุปกรณ์เชื่อมต่อกับแล็ปท็อป

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

  • gsettings set org.gnome.desktop.media-handling automount falseฉันทำข้อเสนอที่สองของ wjandrea อย่างไรก็ตามไอคอนของโทรศัพท์ซัมซุงเริ่มปรากฏขึ้นในแถบด้านซ้ายมืออีกครั้งและอีกครั้ง ส่วนใหญ่จะเกิดขึ้นเมื่อแล็ปท็อปของฉันชาร์จจนเต็มจึงอาจมีปัญหาในการจัดการพลังงาน ของdmesg | tailรัฐที่นี่ (ดูรูปที่ 3) ซึ่งเกิดขึ้นเป็นครั้งแรกและส่วนใหญ่เมื่อถึงแล็ปท็อปของฉันเกี่ยวกับสถานะแบตเตอรี่สูงสุด

ชุดย่อยของ dmesg ที่สองที่นี่

[    5.788819] wl: module license 'MIXED/Proprietary' taints kernel.
[    5.788820] Disabling lock debugging due to kernel taint
[    5.789154] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card1/input8
[    5.797453] wl: module verification failed: signature and/or required key missing - tainting kernel
[    5.812002] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input9
[    5.812092] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input10
[    5.812165] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input11
[    5.981764] intel_rapl: Found RAPL domain package
[    5.981769] intel_rapl: Found RAPL domain core
[    5.981771] intel_rapl: Found RAPL domain uncore
[    5.981772] intel_rapl: Found RAPL domain dram
[    6.024117] wlan0: Broadcom BCM43a0 802.11 Hybrid Wireless Controller 6.30.223.248 (r487574)
[    6.030416] applesmc: key=561 fan=1 temp=33 index=33 acc=0 lux=2 kbd=1
[    6.050130] wl 0000:03:00.0 wlp3s0: renamed from wlan0
[    6.242168] Non-volatile memory driver v1.3
[    6.428191] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[    6.862799] input: bcm5974 as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.2/input/input12
[    6.862926] usbcore: registered new interface driver bcm5974
[    7.053663] fuse init (API version 7.24)
[    7.329118] Bluetooth: Core ver 2.21
[    7.329540] NET: Registered protocol family 31
[    7.329543] Bluetooth: HCI device and connection manager initialized
[    7.329548] Bluetooth: HCI socket layer initialized
[    7.329551] Bluetooth: L2CAP socket layer initialized
[    7.329558] Bluetooth: SCO socket layer initialized
[    7.350445] usbcore: registered new interface driver btusb
[    7.355183] Bluetooth: hci0: BCM: chip id 73 build 0932
[    7.356184] Bluetooth: hci0: BCM: product 05ac:828f
[    7.372192] Bluetooth: hci0: BCM20702B0 Generic USB Class 1 @ 20 MHz
[    7.391321] usb 1-3.1: USB disconnect, device number 5
[    7.634631] usb 1-3.2: USB disconnect, device number 6
[    8.363517] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    8.363521] Bluetooth: BNEP filters: protocol multicast
[    8.363525] Bluetooth: BNEP socket layer initialized
[    8.377953] Bluetooth: RFCOMM TTY layer initialized
[    8.377960] Bluetooth: RFCOMM socket layer initialized
[    8.377965] Bluetooth: RFCOMM ver 1.11
[   78.943062] usb 1-1: USB disconnect, device number 2
[   79.308530] usb 1-1: new high-speed USB device number 8 using xhci_hcd
[   79.437071] usb 1-1: New USB device found, idVendor=04e8, idProduct=6863
[   79.437079] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   79.437083] usb 1-1: Product: SAMSUNG_Android
[   79.437086] usb 1-1: Manufacturer: SAMSUNG
[   79.437089] usb 1-1: SerialNumber: d068730a
[   79.978452] usbcore: registered new interface driver cdc_ether
[   79.981649] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-1, RNDIS device, 02:57:00:57:38:37
[   79.981726] usbcore: registered new interface driver rndis_host
[   79.983854] rndis_host 1-1:1.0 enp0s20u1: renamed from usb0
[   80.011403] IPv6: ADDRCONF(NETDEV_UP): enp0s20u1: link is not ready
[ 1290.235637] usb 1-1: USB disconnect, device number 8
[ 1290.235777] rndis_host 1-1:1.0 enp0s20u1: unregister 'rndis_host' usb-0000:00:14.0-1, RNDIS device
[ 1290.591107] usb 1-1: new high-speed USB device number 9 using xhci_hcd
[ 1290.719964] usb 1-1: New USB device found, idVendor=04e8, idProduct=6863
[ 1290.719973] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1290.719977] usb 1-1: Product: SAMSUNG_Android
[ 1290.719981] usb 1-1: Manufacturer: SAMSUNG
[ 1290.719984] usb 1-1: SerialNumber: d068730a
[ 1290.722251] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-1, RNDIS device, 02:57:00:57:38:37
[ 1291.255806] rndis_host 1-1:1.0 enp0s20u1: renamed from usb0
[ 1291.277892] IPv6: ADDRCONF(NETDEV_UP): enp0s20u1: link is not ready
[ 1870.316573] usb 1-1: USB disconnect, device number 9
[ 1870.316687] rndis_host 1-1:1.0 enp0s20u1: unregister 'rndis_host' usb-0000:00:14.0-1, RNDIS device
[ 1871.735777] usb 1-1: new high-speed USB device number 10 using xhci_hcd
[ 1871.865681] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 1871.865687] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1871.865690] usb 1-1: Product: SAMSUNG_Android
[ 1871.865692] usb 1-1: Manufacturer: SAMSUNG
[ 1871.865694] usb 1-1: SerialNumber: d068730a
[ 2265.887618] usb 1-1: USB disconnect, device number 10
[ 2268.395967] usb 1-1: new high-speed USB device number 11 using xhci_hcd
[ 2268.524992] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 2268.524998] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2268.525001] usb 1-1: Product: SAMSUNG_Android
[ 2268.525003] usb 1-1: Manufacturer: SAMSUNG
[ 2268.525005] usb 1-1: SerialNumber: d068730a
[ 2389.754208] usb 1-1: USB disconnect, device number 11
[ 2451.283233] usb 1-1: new high-speed USB device number 12 using xhci_hcd
[ 2451.412713] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 2451.412719] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2451.412722] usb 1-1: Product: SAMSUNG_Android
[ 2451.412725] usb 1-1: Manufacturer: SAMSUNG
[ 2451.412727] usb 1-1: SerialNumber: d068730a
[ 4253.278282] usb 1-1: USB disconnect, device number 12
[ 4254.096939] usb 1-1: new high-speed USB device number 13 using xhci_hcd
[ 4259.392860] usb 1-1: new high-speed USB device number 14 using xhci_hcd
[ 4259.522162] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4259.522167] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4259.522170] usb 1-1: Product: SAMSUNG_Android
[ 4259.522173] usb 1-1: Manufacturer: SAMSUNG
[ 4259.522175] usb 1-1: SerialNumber: d068730a
[ 4259.731917] usb 1-1: USB disconnect, device number 14
[ 4260.068777] usb 1-1: new high-speed USB device number 15 using xhci_hcd
[ 4260.200384] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4260.200389] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4260.200392] usb 1-1: Product: SAMSUNG_Android
[ 4260.200395] usb 1-1: Manufacturer: SAMSUNG
[ 4260.200397] usb 1-1: SerialNumber: d068730a
[ 4487.825779] usb 1-1: USB disconnect, device number 15
[ 4488.457511] usb 1-1: new high-speed USB device number 16 using xhci_hcd
[ 4488.643676] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4488.643682] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4488.643685] usb 1-1: Product: SAMSUNG_Android
[ 4488.643687] usb 1-1: Manufacturer: SAMSUNG
[ 4488.643689] usb 1-1: SerialNumber: d068730a
[ 4507.592538] usb 1-1: USB disconnect, device number 16
[ 4507.929239] usb 1-1: new high-speed USB device number 17 using xhci_hcd
[ 4508.115547] usb 1-1: New USB device found, idVendor=04e8, idProduct=6860
[ 4508.115553] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4508.115556] usb 1-1: Product: SAMSUNG_Android
[ 4508.115558] usb 1-1: Manufacturer: SAMSUNG
[ 4508.115560] usb 1-1: SerialNumber: d068730a

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

ข้อเสนออื่น ๆ

  • Sneetsher มันทำงานได้ในวันแรก ฉันจะแจ้งให้คุณทราบว่ามันทำงานอย่างไรในสัปดาห์หน้า

    > sudo -i 
    > sed 's/LABEL="libmtp_usb_rules"/LABEL="libmtp_usb_rules"\n\n#Masi, ignore my phone\nATTR{idVendor}=="04e8", ATTR{idProduct}=="6863", GOTO="libmtp_rules_end"/g' /lib/udev/rules.d/69-libmtp.rules | sudo tee /etc/udev/rules.d/69-libmtp.rules \
    udevadm control --reload-rules
    
    # TODO for long time monitoring
    

โทรศัพท์: Samsung Galaxy S4 gt-i9506 ที่มีROM CyanogenMod 13 อย่างไม่เป็นทางการของ Temasek พร้อมแพตช์เพียงพอ
เวอร์ชั่น Ubuntu: 16.04
Linux kernel: 4.4 และ 4.6
ลินุกซ์เคอร์เนลตัวเลือก: wl
Bash: 4.3.42 (1) - ปล่อย (x86_64-pc-linux- gnu)
แล็ปท็อป: กลางปี ​​2013 Macbook Air
USB: สองพอร์ต USB3 (สูงสุด 5 Gbps) ( ที่นี่มีรายละเอียดอย่างเป็นทางการ)
ไดรเวอร์การ์ดเครือข่าย: ปลอดBroadcom-sta-dkms ฟรี (ดูที่นี่ )
VPN ในโทรศัพท์: NordVPN US udp เซิร์ฟเวอร์
VPN ในแล็ปท็อปเมื่อเชื่อมต่อ wifi กับเราเตอร์ - ไฟร์วอลล์: เซิร์ฟเวอร์ NordVPN EE udp

  • สนับสนุน 1: การเปลี่ยนแปลงเชิงลบในสถานะพลังงาน (-1%) เกี่ยวข้องกับการแจ้งเตือน
  • การสนับสนุน 2: การเชื่อมต่ออินเทอร์เน็ตที่ไม่เสถียรใช้พลังงานเป็นจำนวนมาก (\ Delta P = 1%)
  • สนับสนุน 3: การเชื่อมต่ออินเทอร์เน็ตที่ป้องกันด้วย VPN ลดจำนวนการแจ้งเตือนอย่างมีนัยสำคัญ

3
ในกรณีที่คุณยังไม่ได้ทำสิ่งนี้ (และเพราะฉันอยากรู้ว่าสิ่งนี้มีผลกระทบต่อพฤติกรรมหรือไม่) ถ้าคุณใช้การตั้งค่าระบบ -> รายละเอียด -> สื่อแบบถอดได้และทำเครื่องหมายNever prompt or start programs on media insertionที่เปลี่ยนแปลง 'ไฟล์ เปิดด้วยสายเคเบิลเจ้าอารมณ์? มันเป็นสิ่งที่ฉันมักจะทำเพราะฉันเกลียดเมื่อฉันเสียบ USB หรือ HD ที่แบ่งพาร์ติชั่นแล้วและเปิดอินสแตนซ์ไฟล์หลายไฟล์พร้อมกันทั้งหมด
pHeLiOn

@pHeLiOn ใช่ฉันคิดว่ามันเป็นเช่นเดียวกับคำตอบของ wjandrea
LéoLéopold Hertz 준영

@Masi มันคือการตั้งค่า dconf ที่แตกต่างกันแต่มันจะเป็นสิ่งเดียวกันเพราะมันแทนที่org.gnome.desktop.media-handling autorun-never org.gnome.desktop.media-handling automount-open
wjandrea

@Masi, คุณมีพอร์ต USB3 หรือไม่?
user.dz

1
@Sneetsher Two USB 3 ports (up to 5 Gbps)ใช่: นี่คือรายละเอียดsupport.apple.com/kb/SP678?locale=en_US
LéoLéopold Hertz 준영

คำตอบ:


3

dconfเป็นสถานที่สำหรับตรวจสอบในสถานการณ์นี้

dconf เป็นระบบการกำหนดค่าระดับต่ำและการจัดการการตั้งค่า จุดประสงค์หลักของมันคือการจัดหาแบ็คเอนด์ให้กับ GSettings และ KSettings บนแพลตฟอร์มที่ยังไม่มีระบบจัดเก็บข้อมูลการกำหนดค่า ขึ้นอยู่กับ GLib มันเป็นส่วนหนึ่งของ GNOME 3 และใช้แทน GConf ~ วิกิพีเดีย

สำหรับสิ่งนี้คุณต้องติดตั้งdconf editorดังต่อไปนี้:

sudo apt-get update
sudo apt-get install dconf-tools

เพื่อเปิดdconf บรรณาธิการ ,

กด Alt + F2

หรือ

ไปที่แอปพลิเคชัน> เครื่องมือระบบ> ตัวแก้ไข dconf

ตอนนี้อยู่ในโปรแกรมแก้ไข dconf ในแถบด้านข้าง

org> gnome> desktop> การจัดการสื่อ

ยกเลิกการเลือกตัวเลือกเปิดอัตโนมัติ

ต่อไปนี้เป็นสกรีนช็อตของ dconf-editor ใน 16.04:

dconf-editor ใน 16.04


1
นี้มีผลข้างเคียงของการทำอูบุนตูไม่อัตโนมัติระบบไฟล์ใด ๆ มันเป็นค้อนขนาดใหญ่ของมันที่จะแตกถั่วตามที่พวกเขาพูด
Amias

1
@Masi gsettings set org.gnome.desktop.media-handling automount-open falseคำสั่งที่คุณกำลังมองหาอยู่ จากประสบการณ์ของฉันกับ dconf เครื่องหมายโคลอนจะระบุการจับคู่เช่นเดียวกับตัวเลือกคีย์บอร์ด
wjandrea

1
@amiaschanner ฉันลองแล้วมันก็ทำเองโดยอัตโนมัติ สิ่งที่ถูกปิดใช้งานคือการเปิดอัตโนมัติของไดรฟ์
wjandrea

@Masi ฉันได้แนบ screen-shot ของdconf-editor ใน 16.04 ทำงานคล้ายกับ 14.04
Dhaval Simaria

2

คำตอบของ @ Dhaval-Simaria รุ่น CLI:

gsettings set org.gnome.desktop.media-handling automount-open false

โปรดทราบว่า Ubuntu มาพร้อมกับgsettings; ไม่จำเป็นต้องติดตั้ง


แก้ไขสำหรับข้อมูลที่อัปเดต: เนื่องจากข้อความแสดงข้อผิดพลาดกำลังรายงานความล้มเหลวในการเมาต์ให้ลองปิดใช้งานระบบอัตโนมัติ:

gsettings set org.gnome.desktop.media-handling automount false

4
dconf-editorเป็น frontend gsettingsกราฟิกของ คุณไม่ต้องการมัน แต่มันมักจะมีประโยชน์
wjandrea

@wjandrea ขอขอบคุณที่แสดงด้านอื่น ๆ ของโซลูชัน
Dhaval Simaria

1
@Masi Ah คำถามแรกของคุณไม่ชัดเจนดังนั้นฉันจึงถือว่าการแจ้งเตือนที่คุณกล่าวถึงเป็นnautilusหน้าต่างป๊อปอัป ฉันได้แก้ไขคำตอบสำหรับบัญชีใหม่สำหรับข้อมูลใหม่แล้ว
wjandrea

คำสั่งทั้งสองนี้ไม่เพียงพอ ฉันเริ่มเห็นไอคอนของแถบด้านซ้ายปรากฏขึ้นอีกครั้งหลังจากใช้แล็ปท็อปเป็นเวลา 10 ชั่วโมง
LéoLéopold Hertz 준영

@Masi ทำไมคุณยังลบความคิดเห็นของคุณต่อไป? มันทำให้กระทู้นี้อ่านยากสำหรับผู้อ่านในอนาคตเมื่อคุณทำเช่นนั้น
wjandrea

1

หากคุณเรียกใช้ Xubuntu นี่เป็นเรื่องง่ายเพราะมีแผงกำหนดค่าเพื่อเลือกลักษณะการทำงานอัตโนมัติ เพียงไปที่การตั้งค่า> ฮาร์ดแวร์> ไดรฟ์แบบถอดได้และสื่อแล้วยกเลิกการเลือกตัวเลือกที่เกี่ยวข้อง:

ป้อนคำอธิบายรูปภาพที่นี่


1

หมายเหตุ: คำสั่งทั้งหมดด้านล่างอำนาจรากจำเป็นเพื่อสลับไปยังเปลือกรากใช้เป็นครั้งแรกหรือsudo -i sudo suหากคุณต้องการที่จะทำงานโดยตรงกับsudo <cmd>ดูเมื่อใช้ sudo มีการเปลี่ยนเส้นทางที่ฉันได้รับ 'อนุญาตปฏิเสธ'

  • ตั้งค่ากฎ udev สำหรับ libmtpto เพิกเฉยรุ่นโทรศัพท์ของคุณ:

    sed 's/LABEL="libmtp_usb_rules"/LABEL="libmtp_usb_rules"\n\n#Masi, ignore my phone\nATTR{idVendor}=="04e8", ATTR{idProduct}=="6863", GOTO="libmtp_rules_end"/g' /lib/udev/rules.d/69-libmtp.rules > /etc/udev/rules.d/69-libmtp.rules; \
    udevadm control --reload-rules
    

    วิธีย้อนกลับ:

    rm /etc/udev/rules.d/69-libmtp.rules
    
  • สำหรับโหนด USB ทั้งหมด

    echo "DRIVERS==\"usb\", RUN+=\"/bin/sh -c 'echo 1 > /sys%p/remove'\" > /etc/udev/rules.d/99-usb-fallen-leaves.rules; \
    udevadm control --reload-rules
    

    วิธีย้อนกลับ:

    rm /etc/udev/rules.d/99-usb-fallen-leaves.rules
    

    + Reboot

  • นี่คือวิธีการอื่นที่ไม่ต้องรีบูต

    1. สร้างสคริปต์ unbind & bind โดยใช้สคริปต์นี้:

      ในฐานะที่เป็นสคริปต์ usb-ctrl-gen.sh

      #!/bin/sh
      
      c=$(pwd)
      
      for o in "unbind" "bind"
      do
      
        cd $c
      
        echo Generate usb-$o.sh... 
      
        echo "#!/bin/sh\n" > usb-$o.sh
        chmod +x usb-$o.sh
        for d in /sys/bus/pci/drivers/[uex]hci* ; do cd $d; find $d -type l -iname "0000*" -printf 'echo "%f" > ' -exec echo $d/$o \;;  done >> usb-$o.sh
      
      done
      
      echo Done
      

      หรือหนึ่งบรรทัด:

      c=$(pwd); for o in "unbind" "bind"; do echo Generate usb-$o.sh...; echo "#\!/bin/sh\n" > usb-$o.sh; chmod +x usb-$o.sh; for d in /sys/bus/pci/drivers/[uex]hci*; do cd $d; find $d -type l -iname "0000*" -printf 'echo "%f" > ' -exec echo $d/$o \;;  done >> usb-$o.sh; cd $c; done; echo Done
      

      ตัวอย่างผลลัพธ์:

      usb-unbind.sh

      #!/bin/sh 
      
      echo "0000:00:1a.0" > /sys/bus/pci/drivers/ehci-pci/unbind
      echo "0000:00:1d.0" > /sys/bus/pci/drivers/ehci-pci/unbind
      echo "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/unbind
      

      usb-bind.sh

      #!/bin/sh
      
      echo "0000:00:1a.0" > /sys/bus/pci/drivers/ehci-pci/bind
      echo "0000:00:1d.0" > /sys/bus/pci/drivers/ehci-pci/bind
      echo "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/bind
      
    2. เพิ่ม usb-unbind.sh เพื่อ/etc/profileให้ทำงานเมื่อบู๊ตเครื่อง ใช้ usb-bind.sh เพื่อเปิดใช้งานคอนโทรลเลอร์ USB ทุกครั้งที่ต้องการ

      echo $(pwd)/usb-unbind.sh > /etc/profile.d/usb-unbind-hook.sh
      

    หากต้องการรับบทบาทกลับ:

    rm /etc/profile.d/usb-unbind-hook.sh
    

    การอ้างอิง: คุณรีเซ็ตอุปกรณ์ USB จากบรรทัดคำสั่งได้อย่างไร


1
คุณจะสร้างกฎที่ละเว้นโทรศัพท์ทั้งหมดและอุปกรณ์ USB ทั้งหมดได้อย่างไร ฉันแค่ต้องการเริ่มต้นมันอย่างชัดเจนในแล็ปท็อปเมื่อฉันต้องการ ดีกว่าไม่มีอะไรเลย ฉันไม่ต้องการมีโทรศัพท์เพียงเครื่องเดียวเพราะฉันมีโทรศัพท์หลายรุ่นและอุปกรณ์อื่น ๆ อีกมากมาย นี่ไม่ใช่แค่เพียงหนึ่งอุปกรณ์
LéoLéopold Hertz 준영

1
@Masi update answer
user.dz

1

คุณควรตรวจสอบกฎ udev คุณสามารถบล็อคอุปกรณ์หนึ่งโดยไม่มีผลกับอุปกรณ์ USB อื่น ๆ คุณสามารถกำหนดกฎ udev ของคุณเองโดยสร้างไฟล์ใน/etc/udev/rules.d/เช่น /etc/udev/rules.d/51-block-phone-mount.rules

ตอนนี้หา idVendor และ idProduct ของอุปกรณ์ สิ่งเหล่านี้ใช้งานได้ดีเนื่องจากส่วนใหญ่เป็นผลิตภัณฑ์เฉพาะดังนั้นคุณสามารถใช้เพื่อระบุอุปกรณ์ในกฎ udev

แสดงรายการอุปกรณ์ USB ของคุณโดยใช้lsusbและรับสิ่งต่อไปนี้:

Bus 002 Device 002: ID 8087:8002 Intel Corp.  
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub  
Bus 001 Device 002: ID 8087:800a Intel Corp.  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub  
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub  
Bus 004 Device 002: ID 0424:2660 Standard Microsystems Corp.  
Bus 004 Device 003: ID 03f0:0024 Hewlett-Packard KU-0316 Keyboard  
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

ส่วนที่เกี่ยวข้องคือ Bus และอุปกรณ์เช่น Bus 004 และ Device 003 sudo lsusb -vs 004:003 | grep -E 'idProduct|idVendor'คุณจะได้รับข้อมูลที่จำเป็นเช่น:

idVendor           0x03f0 Hewlett-Packard  
idProduct          0x0024 KU-0316 Keyboard

ซึ่งหมายความว่าคุณ/etc/udev/rules.d/51-block-phone-mount.rulesจะต้องใส่สิ่งต่อไปนี้:

#Phone automount block  
SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0024", ATTR{authorized}="0"

คุณสามารถลองใช้งานได้ทันทีเพียงแค่เสียบโทรศัพท์และตรวจสอบว่ามันใช้งานได้


0

ฉันมีปัญหาที่คล้ายกันกับหนึ่งบวกหนึ่งที่มีซ็อกเก็ตยูเอสบีเล็กน้อย iffy นี้ทำให้ไฟขึ้นหน้าต่าง nautilus ทุก 5 นาทีหรือมากกว่านั้น

วิธีที่มีประสิทธิภาพที่สุดที่ฉันค้นพบเพื่อป้องกันการทำเช่นนี้คือการทำให้ udev เพิกเฉยอย่างสมบูรณ์โดยจับคู่ผู้ขาย usb และรหัสรุ่นจากนั้นตั้งค่าอุปกรณ์ให้อยู่ในโหมดไม่ได้รับอนุญาต วิธีนี้ทำให้คุณป้องกันอุปกรณ์นี้ไม่ให้เรียกใช้สิ่งใด ๆ เพิ่มเติมที่อยู่เหนือน้ำเช่นการติดตั้งอัตโนมัติโดยไม่ส่งผลกระทบต่อสิ่งอื่น

วิธีทำบัญชีดำ udev https://projectgus.com/2014/09/blacklisting-a-single-usb-device-from-linux/

คู่มือสำหรับโทรศัพท์ซัมซุง http://blog.vacs.fr/vacs/blogs/post.html?post=2010/12/24/How-to-repair-the-USB-not-detected-problem-on-Android ซัมซุงโทรศัพท์


1
คุณกรุณาให้ข้อมูลสรุปเกี่ยวกับคำตอบของคุณไม่ใช่คำตอบแบบลิงก์เท่านั้น ฉันไม่เข้าใจวิธีการที่แตกต่างกันคำตอบของคุณในทางปฏิบัติจากการตั้งค่าไม่ได้media-handling automount-openดูเหมือนว่าลิงก์จะมีโซลูชันด้านโทรศัพท์ อาจเป็นได้ว่าปัญหาของฉันมีสองปัญหา ฉันใช้โทรศัพท์ซัมซุง (Galaxy S4 gt-i9506)
LéoLéopold Hertz 준영
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.