---
schema_version: "1"
id: 865cf16892dd31230d3945820675cfe2c76cdc7d85b4ce16f0185228365b270b
title: ความล้มเหลวของบริการผู้ใช้ systemd
collection: tableau
version: next
locale: th-th
portal_url: https://docs.salesforce.com/tableau/next/th-th/server-linux/systemd_user_service_error.md
canonical_url: https://help.tableau.com/v0.0/server-linux/th-th/systemd_user_service_error.htm
source_site: help.tableau.com
content_type: documentation
content_hash: cf64119b6826d193176daba1e8e73d7eb412d2dba8b5035453b41f99a610840c
description: Troubleshoot systemd user service failures on Tableau Server for Linux.
---
[ข้ามไปยังเนื้อหาหลัก](#main-content)

# ความล้มเหลวของบริการผู้ใช้ systemd

คุณอาจได้รับข้อผิดพลาดอย่างใดอย่างหนึ่งต่อไปนี้เมื่ออัปเกรดหรือเมื่อเรียกใช้ `initialize-tsm` ระหว่างการติดตั้งใหม่ดังนี้

- “ไม่สามารถรับการเชื่อมต่อ D-Bus: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว”
- “ไม่พบ $XDG\_RUNTIME\_DIR”
- “systemd unit user@<เลขที่ผู้ใช้> ไม่ทำงาน ตรวจสอบ /var/log/messages or /var/log/syslog”

## พื้นหลัง

ใน 2018.1 Tableau Server ใช้บริการผู้ใช้ `systemd` เพื่อจัดการกระบวนการ ซึ่งหมายความว่ามีกระบวนการ `systemd` ที่ทำงานในฐานะผู้ใช้ที่ไม่มีสิทธิพิเศษ ตามค่าเริ่มต้น การตั้งค่า Tableau Server จะสร้างบัญชีที่ไม่มีสิทธิพิเศษชื่อ `tableau` กระบวนการ Tableau Server เกิดจากกระบวนการ `systemd` และไม่ใช่กระบวนการ `systemd` ทั่วทั้งระบบ ซึ่งทำงานเป็นรูท

**สำคัญ**: หมายเหตุการแก้ปัญหานี้ใช้กับ distros แบบ RHEL 7 เป็นหลัก อย่างไรก็ตาม หากคุณเห็นข้อผิดพลาดข้อใดข้อหนึ่งเหล่านี้ อาจมีปัญหาเดียวกันนี้ใน Ubuntu distros

บริการผู้ใช้ `systemd` ไม่ได้ใช้ทั่วไปเหมือนกับตัวจัดการกระบวนการ `systemd` ปกติ Red Hat ปิดใช้งานบริการผู้ใช้ `systemd` ใน RHEL 7 (และด้วยเหตุนี้ distros ทั้งหมดที่มาจาก RHEL เช่น CentOS Oracle Linux 7 Amazon Linux 2) อย่างไรก็ตาม RedHat ได้รับรอง Tableau ว่าการเรียกใช้บริการผู้ใช้ `systemd` ได้รับการสนับสนุนตราบใดที่เปิดใช้งานบริการอีกครั้ง

## การอัปเกรดจาก Tableau Server บน Linux 10.5

หากคุณกำลังอัปเกรดจาก Tableau Server 10.5 ให้ตรวจสอบว่าผู้ใช้ที่ไม่มีสิทธิพิเศษมีเชลล์และไดเรกทอรีหน้าแรกที่ถูกต้อง สำหรับ Tableau Server 10.5 นั้น Tableau ตั้งใจสร้างผู้ใช้ที่ไม่มีสิทธิพิเศษโดยตั้งค่าเชลล์เป็น `/sbin/nologin` และไดเรกทอรีหน้าแรก "`/`” หากผู้ใช้ที่ไม่ได้รับสิทธิพิเศษได้รับการสร้างขึ้นโดย `initialize-tsm` ดังนั้นในระหว่างการอัปเกรดเป็น 2018.1 Tableau จะอัปเดตเชลล์และไดเรกทอรีหน้าแรก

อย่างไรก็ตาม หากคุณสร้างผู้ใช้ที่ไม่มีสิทธิพิเศษในระหว่างการติดตั้งครั้งแรกของ 10.5 คุณจะได้รับข้อผิดพลาดเมื่อพยายามอัปเกรด

หากต้องการแก้ไขปัญหานี้ คุณต้องตั้งค่าเชลล์เป็น `/sbin/nologin` และไดเรกทอรีหน้าแรก "`/`” จากนั้นเรียกใช้การอัปเกรดอีกครั้ง

## การแก้ไขปัญหาข้อผิดพลาดในการติดตั้งใหม่

ตรวจสอบว่าบริการผู้ใช้ `systemd` กำลังทำงานอยู่

ตรวจสอบโดยการเรียกใช้คำสั่ง `ps -fww $(pgrep -f "systemd --user")`

หากบริการผู้ใช้ `systemd` ไม่ทำงาน แสดงว่ามีบางอย่างที่ขัดขวางไม่ให้เริ่มบริการ

ติดตามรายการนี้เพื่อแก้ไขปัญหาดังนี้

- ตรวจสอบบันทึกใน `/var/log/messages`
- เรียกใช้ `journalctl`
- ตรวจสอบว่าการปรับแต่งต่างๆ ที่คุณได้ทำกับการกำหนดค่า PAM ของคุณนั้นไม่ได้ลบ `pam_systemd.so`
    
    หากไฟล์ RHEL 7 PAM `/etc/pam.d/system-auth` ไม่มีบรรทัดต่อไปนี้
    
    `-session optional pam_systemd.so`
    
    จากนั้นจะต้องเพิ่มกลับเพื่อให้ Tableau Server ทำงานได้
- หาก `-session optional pam_systemd.so` มีอยู่ในการกำหนดค่า PAM ของคุณ บริการผู้ใช้จะไม่สามารถเริ่มทำงานได้ และข้อความแสดงข้อผิดพลาด `$XDG_RUNTIME_DIR not found` แสดงอยู่ใน `/var/log/messages` อย่าพยายามตั้งค่าตัวแปรสภาพแวดล้อม ในสถานการณ์นี้ ข้อผิดพลาดไม่ถูกต้อง
    
    ข้อผิดพลาดที่แท้จริงคือโมดูล PAM `pam_systemd.so` ไม่สามารถจัดสรรเซสชันผู้ใช้ได้ การกำหนดค่าเริ่มต้นระงับข้อความแสดงข้อผิดพลาดจาก `pam_systemd.so` หากต้องการแสดงข้อความแสดงข้อผิดพลาดและข้อความดีบัก ให้เปลี่ยนบรรทัดใน `/etc/pam.d/system-auth` จาก `-session optional pam_systemd.so` ไปเป็น `session optional pam_systemd.so debug` (การนำเครื่องหมายยัติภังค์นำหน้าออกจะแสดงข้อความแสดงข้อผิดพลาด และการเพิ่ม `debug` จะทำให้แสดงการบันทึกที่ละเอียดยิ่งขึ้น)
    
    ตอนนี้คุณสามารถดูในไฟล์ `/var/log/messages`, `/var/log/secure` และ `/var/log/audit/audit.log` เพื่อดูข้อความแสดงข้อผิดพลาด

## ตัวอย่าง

คุณอาจเห็นข้อความแสดงข้อผิดพลาดดังต่อไปนี้

```
systemd
```

ในกรณีนี้ การค้นหาข้อผิดพลาดทางออนไลน์จะนำไปสู่บทความ Redhat KB [https://access.redhat.com/solutions/2460611](https://access.redhat.com/solutions/2460611)

บทความนี้แนะนำให้อัปเดตแพ็กเกจ `selinux-policy` โดยเรียกใช้ `sudo yum update selinux-policy`

ในบางกรณี การอัปเกรดจากเวอร์ชัน 3.12.X เป็น 3.13.X จะช่วยแก้ไขปัญหา `$XDG_RUNTIME_DIR not found` อย่าลืมเรียกใช้ `sudo reboot` หลังจากอัปเดตแพ็กเกจ