เรียกใช้สคริปต์เริ่มต้นด้วย lightdm


17

ฉันมีแท็บเล็ตพีซีและไดรเวอร์กราฟิกไม่รองรับ xrandr ดังนั้นในการหมุนหน้าจอฉันเรียกใช้สคริปต์ซึ่งเปลี่ยนไฟล์ Xorg.conf จากนั้นรีสตาร์ท lightdm ฉันยังมีสคริปต์ที่ใช้ xsetwacom และ xinput เพื่อเปลี่ยนการหมุนของอุปกรณ์อินพุตเพื่อให้ตรงกับทิศทางใหม่

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

ฉันดูคำถามอื่น ๆ ในเว็บไซต์นี้ ฉันได้ลองใส่สคริปต์ของฉันใน /etc/Xsession.d แต่ดูเหมือนจะไม่ทำงาน ฉันยังลองวางไว้ใน / etc / rc.local แต่ฉันคิดว่ามันผิดที่ดูเหมือนว่าไม่มีอะไรเกิดขึ้น ฉันได้ลองใช้ googling หา hooks script lightm และคำศัพท์ google อื่น ๆ อีกมากมาย

ข้อเสนอแนะใด ๆ

แก้ไข 1: หลังจากทำการวิจัยบางอย่างฉันคิดว่ามันอาจไม่ใช่ว่าฉันต้องการเรียกใช้สคริปต์ด้วย lightdm แต่ใช้กับ lighdm greeter (ในกรณีนี้ฉันคิดว่า unity-greeter?) มีตะขอสคริปต์สำหรับ unity-greeter หรือไม่?

คำตอบ:


10

คุณอาจต้องการลองเพิ่มสคริปต์ก่อนการเริ่มต้นหรือหลังการเริ่มต้นให้กับ

/etc/init/lightdm.conf

(ดูhttp://upstart.ubuntu.com/getting-started.htmlสำหรับข้อมูลเบื้องต้นเกี่ยวกับการพุ่งพรวดที่แยกวิเคราะห์ไฟล์นี้)

ยัง /etc/lightdm.conf อนุญาตให้ระบุสคริปต์ที่จะโหลด คุณมีคำอธิบายโดยละเอียดเกี่ยวกับตัวเลือกทั้งหมด (มากมาย) ที่สามารถใช้ในไฟล์การกำหนดค่า lightdm.conf ที่ /usr/share/doc/lightdm/lightdm.conf


ขอบคุณสำหรับคำแนะนำ แต่ดูเหมือนจะไม่ทำงานเช่นกัน ฉันไม่แน่ใจ 100% เกี่ยวกับการทำงานของ lightdm แต่ฉันเข้าใจว่ากระบวนการ lightdm ไม่ได้จบลงเมื่อคุณเข้าสู่ระบบ แต่มันจะรีสตาร์ทเซิร์ฟเวอร์ x เมื่อเข้าสู่ระบบ / ออกจากระบบ การเพิ่มสคริปต์ก่อนเริ่มลงใน lightdm คือสคริปต์ของฉันเพื่อเรียกใช้ก่อนที่ lightdm จะเริ่มทำงาน แต่ฉันคิดว่า ligthdm เริ่มต้น x หลังจากนี้ดังนั้นการตั้งค่าที่ฉันเปลี่ยนผ่าน xinput / xsetwacom จะไม่ได้รับการเก็บรักษาตามเวลาที่หน้าจอการเข้าสู่ระบบปรากฏ
cheshirekow

2
คำตอบนั้นไม่ถูกต้องนัก แต่มันช่วยให้ฉันค้นหาคำตอบที่ถูกต้องได้ ฉันคิดว่าการกำหนดค่า lightdm มีเบ็ดสคริปต์บางส่วน โดยเฉพาะฉันใช้ display-setup-script = / home / cheshirekow / Codes / shell / xorg / setwacom.sh ซึ่งใช้งานได้ ฉันพบคำตอบได้ที่นี่: askubuntu.com/questions/63681/ …
cheshirekow

9

ฉันต้องการเพิ่มว่า "display-setup-script = / path / to / some / script" ไปที่ส่วน [SeatDefaults] ของ /etc/lightdm/lightdm.conf

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

xrandr --output DVI-0  --mode 1920x1200 --rotate left --primary
xrandr --output HDMI-0 --mode 1920x1080

1
ขอบคุณใน Debian มันอยู่ใน[Lightdm]ส่วนที่ผิดด้วย
อเล็กซ์

คำตอบที่ดีคำถามของเขาเริ่มต้นเช่น: "ฉันมีแท็บเล็ตพีซีและไดรเวอร์กราฟิกไม่รองรับ xrandr ... " ดังนั้นคุณอธิบายว่าคุณใช้ xrandr เพื่อตั้งค่าหน้าจอของคุณอย่างไร
Tele

1

ลองแทรกสคริปต์ของคุณใน~/.xprofileไฟล์เช่นด้านล่าง

#! /bin/sh
# ~/.xprofile: execute commands at the beginning of the X user
#              session - before the window manager is started.
#
# The xprofile files are natively sourced by the following
# display managers:
#
#     GDM     - /etc/gdm/Xsession
#     LightDM - /etc/lightdm/Xsession
#     LXDM    - /etc/lxdm/Xsession
#     SDDM    - /usr/share/sddm/scripts/Xsession
#
# More in https://wiki.archlinux.org/index.php/Autostarting

/usr/bin/nm-applet &
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.