ทำไม“ โหมดเครื่องบิน” ยังคงสลับกับแล็ปท็อป HP ใน Ubuntu 18.04


15

ฉันมีแล็ปท็อปแปลงสภาพ HP Specter x360 และฉันใช้งาน Ubuntu 18.04 ทุกครั้งที่ฉันหมุนหน้าจอไปด้านข้างหรือในโหมดแท็บเล็ตและย้อนกลับจะมีการเปิดใช้งาน 'โหมดเครื่องบิน' ที่จริงแล้วเมื่อฉันบูทและเข้าสู่ระบบฉันต้องปิด 'Airplane Mode' ด้วยตนเองและเปิด wifi ขึ้นมาใหม่ ฉันไม่ต้องการปิดใช้งานปลั๊กอิน gnome rfkill ดังนี้: 'gsettings set org.gnome.settings-daemon.plugins.rfkill active false' เพราะหลังจากนั้นฉันไม่สามารถใช้บลูทู ธ ได้อีกต่อไป นอกจากนี้ด้วยเหตุผลบางอย่างแม้เมื่อฉันปิดการใช้งานปลั๊กอิน gnome shell ก็เปิด 'โหมดเครื่องบิน' อยู่แล้วซึ่งหมายความว่าฉันต้องกลับไปเปิด wifi ทุกครั้งที่ลงชื่อเข้าใช้นี่เป็นสิ่งที่น่ารำคาญจริงๆ ชอบที่ 18.04 กำลังจะเกิดขึ้น แต่นี่เป็นการทำลายประสบการณ์ของ gnome shell ทั้งหมดอย่างจริงจัง


1
ปัญหาเกิดขึ้นกับ 17.10 หรือไม่ ฉันมีแล็ปท็อปเครื่องเดียวกันและฉันมีปัญหาเดียวกันกับ Ubuntu 17.04 สิ่งที่ทำให้แย่ลงในปี 17.10 คือปุ่ม "โหมดเครื่องบิน / F12" ไม่ทำงานอีกต่อไปดังนั้นฉันต้องไปที่เมนูด้านบนขวาเพื่อเปิดใช้งานอีกครั้ง คุณมีปัญหาเดียวกันหรือไม่?
Pierre-Antoine

เท่าที่ฉันสามารถบอกได้การตั้งค่ารหัสอย่างถูกต้องเมื่อเริ่มต้นระบบยังช่วยแก้ไขปัญหาด้วยปุ่มโหมดเครื่องบิน f12 ไม่ทำงาน ฉันกำลังสลับปุ่มโหมดเครื่องบินด้วยความสุขเพราะมันใช้งานได้ในที่สุด มันชัดเจนมากสำหรับฉันหลังจากที่ฉันเริ่มใช้ gnome shell ครั้งแรกในปี 17.10 เนื่องจากฉันไม่เคยใช้ Gnome หมุน
Nicholas Stommel

คำตอบ:


23

ในเชลล์คำพังเพย "Airplane Mode" จะเปิดใช้งานโดยอัตโนมัติในการบูตสำหรับแล็ปท็อป HP หลายรุ่นเมื่อหน้าจอเอียงไปด้านข้างหรือเมื่อเปิด / ปิดฝา ต่อไปนี้เป็นวิธีแก้ไขสำหรับแล็ปท็อป HP ที่ใช้ Linux และการใช้ gnome shell Keycode 240 ถูกกำหนดเป็น KEY_UNKNOWN (ชนิดของคีย์ไม่ใช้) ใน /usr/include/linux/input-event-codes.h syslog ของคุณจะไม่แจ้งให้คุณกำหนดรหัส HP e057 และ e058 อีกต่อไปซึ่งน่ารำคาญอย่างมาก

อันดับแรกคือการแก้ไขโดยใช้สคริปต์ init SysV แบบคลาสสิกซึ่งอยู่ในไดเรกทอรี init.d และเชื่อมโยงตามลำดับ (โดยทั่วไปเราต้องการให้ทำงานโดยไม่คำนึงถึง runlevel ในสิ่งใดยกเว้น halt (0) หรือ reboot (6) ข้อที่สองคือบริการ systemd ที่มีความน่าเชื่อถือมากกว่าและอาจมีการเปลี่ยนแปลง systemd ล่าสุดซึ่งเกิดขึ้นกับ Fedora 28 และแพลตฟอร์มการกระจายอื่น ๆ โดยเฉพาะอย่างยิ่งใน Fedora คุณจะพบว่าสคริปต์ขาดหายไปเกือบสมบูรณ์ในไดเรกทอรี /etc/init.d พร้อมกับ README เล็กน้อยที่ให้รายละเอียดการเปลี่ยนจาก SysV เป็น systemd วิธีแรกจะใช้งานได้ แต่วิธีที่สองนั้นมี "ความเป็นมิตรในอนาคต" มากกว่าโดยเฉพาะเมื่อพิจารณาว่า Ubuntu กำลังมุ่งหน้าไปที่ใดและจะทำงานในลักษณะที่น่ารำคาญน้อยกว่าเล็กน้อย ... สคริปต์เริ่มต้นของ Systemd นั้นค่อนข้างมีประโยชน์และมีการใช้งานอย่างสมบูรณ์และใช้งานบ่อยใน Ubuntu 18.04

วิธี SysV แบบเก่า:

$ sudo sh -c 'printf "#! / bin / sh \ n / usr / bin / setkeycodes e057 240 e058 240 \ n"> /etc/init.d/hp-keycodes'
$ sudo chmod + x /etc/init.d/hp-keycodes
$ sudo ln -s /etc/init.d/hp-keycodes /etc/rc1.d/K01hp-keycodes
$ sudo ln -s /etc/init.d/hp-keycodes /etc/rc2.d/S01hp-keycodes
$ sudo ln -s /etc/init.d/hp-keycodes /etc/rc3.d/S01hp-keycodes
$ sudo ln -s /etc/init.d/hp-keycodes /etc/rc4.d/S01hp-keycodes
$ sudo ln -s /etc/init.d/hp-keycodes /etc/rc5.d/S01hp-keycodes
$ sudo รีบูต

ใหม่แนะนำวิธี Systemd:

$ sudo nano /etc/systemd/system/hp-keycodes.service

วางบรรทัดต่อไปนี้หรือพิมพ์ลงในไฟล์:

[Unit]
คำอธิบาย = HP setkeycodes แก้ไข

[บริการ]
พิมพ์ = Oneshot
เริ่มต้นใหม่ = ไม่มี
RemainAfterExit = ไม่มี
ExecStart = / usr / bin / setkeycodes e057 240 e058 240

[ติดตั้ง]
WantedBy = rescue.target
WantedBy = multi-user.target
WantedBy = graphical.target

บันทึกและยืนยันชื่อไฟล์ด้วย ctrl-x, y

$ sudo systemctl daemon-reload
$ sudo systemctl เปิดใช้งาน hp-keycodes.service
$ sudo รีบูต

และนั่นคือไม่มีสิ่งแปลก ๆ ที่น่ารำคาญเมื่อคุณเอียงหน้าจอหรือปิด / เปิดฝาแล็ปท็อป!


สิ่งนี้ใช้ได้กับ HP Notebook 15-ac14ne ของฉัน
Tooniis

1
สิ่งนี้ใช้ไม่ได้กับ Ubuntu 17.10
nikhilweee

2
ขอขอบคุณ. สิ่งนี้ใช้ได้กับ Spectre x360 ของฉันเมื่อไม่มีวิธีแก้ไขปัญหาอื่น ๆ อีกมากมาย
แมตต์เวสต์

1
ทำงานเพื่อเข้าสู่ระบบและโหมดเครื่องบินหมุนหน้าจอในปี 2015 ของฉัน 13 "HP Spectre x360
wakers01

1
ทำงานได้อย่างสมบูรณ์แบบสำหรับ HP Spectre 13-4110nd x360 ของฉัน
Hugo

1

ฉันประสบปัญหาเดียวกันกับ 17.10 ใน HP Specter x360 ของฉัน ในความเป็นจริงฉันเผชิญกับปัญหาทั้งของ Nicholas และ Pierre-Antoine:

  • เปิดใช้งานโหมดเครื่องบินทุกครั้งที่ฉันลงชื่อเข้าใช้หรือพลิกไปที่โหมดแท็บเล็ต
  • Fn + F12 (ปุ่มสลับโหมดเครื่องบิน) ไม่ทำงานอีกต่อไป

เพื่อสลับ wifi อย่างรวดเร็วฉันได้ทำสคริปต์เล็ก ๆ :

## Content of ~/scripts/wifi_toggle : ##
    #!/bin/bash
    str=`export LANGUAGE=en_GB ; nmcli r wifi`
    [ "$str" == "enabled" ] && nmcli r wifi off
    [ "$str" == "disabled" ] && nmcli r wifi on

ฉันไม่ค่อยใช้บลูทู ธ ดังนั้นมันจึงรองรับ wifi เท่านั้น แต่คุณสามารถแก้ไขได้อย่างง่ายดายเพื่อจัดการทั้งบลูทู ธ และ wifi

ทั้งหมดนี้คือการถดถอยที่ชัดเจนจาก 17.04 ซึ่งทุกอย่างทำงานได้อย่างไร้ที่ติ ฉันลองเบต้า 18.04 แต่เป็นสถานการณ์เดียวกันกับ 17.10

Nicholas, Pierre-Antoine, ฉันเติมเหมือนกรอกรายงานข้อผิดพลาดสองเรื่องเกี่ยวกับปัญหาเหล่านี้ (ในรายงานต่อปัญหา) คุณคิดว่าคุณสามารถแสดงความคิดเห็นในรายงานเหล่านี้เมื่อใดก็ตามที่ฉันรายงานเสร็จ สิ่งนี้จะช่วยยืนยันสถานะข้อบกพร่อง (ผู้ใช้มากกว่าหนึ่งรายได้รับผลกระทบ)

ไชโย


หากต้องการทำเครื่องหมายรายงานข้อผิดพลาดว่ากระทบผู้อื่นพวกเขาควรคลิกที่Does this bug affect you?ลิงค์ด้านล่างชื่อเรื่องบั๊ก
Chai T. Rex

หากคุณยื่นข้อผิดพลาดคุณสามารถโพสต์ลิงค์ที่นี่เพื่อให้คนอื่นที่มีปัญหานี้ (รวมถึงตัวเอง) สามารถสมัครเป็นสมาชิกได้หรือไม่?
ec2011

น่าเสียดายที่เท่าที่ฉันทราบนี่เป็นฮาร์ดแวร์โน้ตบุ๊ค HP ที่สามารถแปลงสภาพได้ซึ่งอาจไม่ปรากฏในเครื่องส่วนใหญ่ดังนั้นการเพิ่มส่วนคำสั่งพิเศษหรือสคริปต์เริ่มต้นใน repo แพคเกจอย่างเป็นทางการอาจไม่ใช่วิธีแก้ปัญหาที่มาก ทั้งหมด สิ่งนี้ดูเหมือนจะเป็นเคอร์เนลและปัญหา gnome-shell sorta กลายเป็นปัญหา ฉันพยายามที่จะยื่นรายงานข้อผิดพลาดกับ gnome-shell แต่พวกเขาเพิ่งเปลี่ยนไปใช้ gitlab nightmare ในระยะเวลาอันสั้น ปุ่มโหมดเครื่องบินได้รับการแก้ไขด้วยคำตอบที่แก้ไขแล้ว (สคริปต์เริ่ม systemd)
Nicholas Stommel

แอนทอนฉันได้ลองแล้ว แต่ไม่ได้ผลสำหรับฉันคุณสามารถช่วยฉันได้ที่askubuntu.com/q/1146524
ARIF MAHMUD RANA
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.