XDG_RUNTIME_DIR
จำเป็นสำหรับsystemctl --user
การทำงาน
ฉันได้เซ็ตอัพเซิร์ฟเวอร์ Ubuntu 16.04 เพื่อเรียกใช้เซสชันผู้ใช้ systemd ตอนนี้เมื่อพยายามที่จะจัดการพวกเขาฉันพบว่าเมื่อเปลี่ยนผู้ใช้ผ่านsudo -u $user -i
หรือแม้กระทั่งsu - $user
สภาพแวดล้อมไม่ได้XDG_RUNTIME_DIR
ตั้งค่าการป้องกันsystemctl --user
จากการทำงาน อย่างไรก็ตามเมื่อฉันssh
เข้าสู่ผู้ใช้นั้นจะถูกตั้งค่าอย่างถูกต้อง
หากฉันเข้าใจเอกสารอย่างถูกต้องควรตั้งค่านี้libpam-systemd
เมื่อสร้างเซสชันผู้ใช้ ชิ้นส่วนของผู้ใช้เริ่มต้นอย่างถูกต้องเนื่องจากมีไดเรกทอรีที่XDG_RUNTIME_DIR
ควรชี้ ( /run/users/$uid
) อยู่ ฉันลังเลที่จะใส่รหัสลงใน.bash_profile
เพราะว่าดูเหมือนว่าแฮ็ก (แม้ว่าจะใช้งานได้) เมื่อแพมควรดูแลมัน
ฉันสามารถของหลักสูตรเพิ่มXDG_RUNTIME_DIR
ไปenv_keep
ในsudoers
แต่ที่เพิ่งจะรักษาสภาพแวดล้อมของผู้ sudoing ซึ่งไม่ได้เป็นสิ่งที่ฉันต้องการ ฉันต้องการสภาพแวดล้อมของผู้ใช้เป้าหมาย
สิ่งที่ฉันสงสัยจริงๆคือทำไมเซสชั่นนี้ถูกตั้งค่าอย่างถูกต้องด้วยssh
แต่ไม่ใช่su
หรือsudo -i
?
XDG_RUNTIME_DIR
สำหรับsudo
เซสชันโดยการออกแบบหรือไม่ ฉันเดาว่าฉันตั้งมัน~/.profile
ไม่ได้แฮ็คอย่างที่ฉันคิด