สร้างสคริปต์ / งานออกจากระบบสำหรับ Linux


15

ในทำนองเดียวกันกับคำถามของฉันสำหรับWindowsและMac OS Xเราจะสร้างสคริปต์ออกจากระบบสำหรับ Linux ได้อย่างไร

ดิสทริบิวเตอร์ใด ๆ ก็ดีเพราะฉันแน่ใจว่ามันจะขยายได้ทั่วทุกแห่ง ฉันคุ้นเคยกับ RHEL / CentOS / Fedora และ Ubuntu มากที่สุด

นอกจากนี้
หากมีอยู่สำหรับทั้งการเข้าสู่ระบบแบบกราฟิก (เช่นที่เวิร์กสเตชัน lcoal) และสำหรับการเข้าสู่ระบบระยะไกล (เช่นผ่านssh) นั่นจะเหมาะ - แต่ฉันจะตัดสินอย่างใดอย่างหนึ่งถ้าทั้งสองเป็นไปไม่ได้

คำตอบ:


13

สำหรับเซสชัน SSH ระยะไกลมันเป็นหน้าที่ของเชลล์ของคุณในการจัดการกับสคริปต์ที่ออกจากระบบ ~/.bash_logoutทุบตีเปลือกมักจะวิ่ง

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

  • สำหรับ Gnomeให้ใช้/etc/gdm/PostSession/Defaultสคริปต์การล็อกเอาต์เริ่มต้นทั้งระบบ (ไม่ว่าจะออกจากระบบใด) ซึ่งแตกต่างจากสคริปต์ออกจากระบบของ Bash ฉันไม่คิดว่าจะมีสคริปต์ PostSession รุ่นเฉพาะสำหรับผู้ใช้ GDM

  • XDM ใช้สคริปต์รีเซ็ตที่ติดตั้ง/etc/X11/xdm/Xresetไว้

  • สำหรับ KDE (ใช้ KDM)ที่คุณต้องการสคริปต์ ใช้ KDE3 ตำแหน่งอาจถูกระบุในไฟล์กำหนดค่าของ KDM พร้อมปุ่มReset/etc/kde3/kdm/Xreset/etc/kde3/kdm/kdmrcReset

  • WDMเห็นได้ชัดว่าใช้คู่ของสคริปต์รีเซ็ต: สคริปต์ต่อจอแสดงผลที่/etc/X11/wdm/Xreset_0(สำหรับการแสดงผล:0) /etc/X11/wdm/Xresetและสคริปต์ที่ทั่วโลก แฟ้มการกำหนดค่า WDM /etc/X11/wdm/wdm-configอยู่ใน

ตำแหน่งไฟล์ในคำตอบนี้มาจากแพ็คเกจ Debian แพ็คเกจของ Ubuntu โดยทั่วไปจะใช้ไฟล์เดียวกัน แต่การกระจายอื่นอาจใช้ตำแหน่งอื่น


มีคุณสมบัติที่คล้ายกันสำหรับ KDE หรือ fluxbox หรือ icewm?
วอร์เรน

1
GDM เป็น Gnome-replace สำหรับ XDM ผู้จัดการเข้าสู่ระบบ X KDE คือ KDM ฉันเชื่อว่า มีคนอื่นอยู่ แต่นั่นคือสามคนใหญ่ ฉันคิดว่า WDM มักจะแนะนำให้ใช้กับ fluxbox หรือไม่ นอกจากนี้ยังมี SDM (ตาม SSH!) ซึ่งอาจให้การสนับสนุนสคริปต์ ไม่ทราบรายละเอียดเพิ่มเติม หากฉันได้รับโอกาสในภายหลังฉันจะพยายามค้นหา
ต้มตุ๋น Quixote

6

หาก distro ใช้ PAM เพื่อตรวจสอบสิทธิ์ผู้ใช้คุณสามารถติดตั้งpam_scriptเพื่อมอบonsessionopen/onsessionclosefuncionality

ฉันใช้ในดิสทริบิวชันที่ใช้ Debian เพื่อตรวจสอบไฟล์ที่แก้ไขโดยผู้ใช้ผ่านscpเท่านั้นและปรับเปลี่ยนสิทธิ์ของไฟล์

คุณสามารถดาวน์โหลดpam_scriptจาก freecode


5

C-shell, aka csh, มีฟังก์ชั่น. logout และ Bash (ค่าเริ่มต้นปัจจุบัน) มี. bash_logout แต่ฉันไม่จำ shell อื่น ๆ (ksh, sh, etc) ด้วยแนวคิดที่คล้ายกัน

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