install_dbus_config.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #!/bin/bash
  2. # 安装 D-Bus 配置文件脚本
  3. # 用于允许 soft_bus_daemon 注册 D-Bus 服务
  4. set -e
  5. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  6. CONFIG_FILE="$SCRIPT_DIR/com.softbus.Daemon.conf"
  7. SESSION_CONFIG_DIR="$HOME/.config/dbus-1/session.d"
  8. SYSTEM_CONFIG_DIR="/etc/dbus-1/session.d"
  9. echo "Installing D-Bus configuration for soft_bus_daemon..."
  10. # 创建用户级配置目录(推荐)
  11. if [ ! -d "$SESSION_CONFIG_DIR" ]; then
  12. echo "Creating directory: $SESSION_CONFIG_DIR"
  13. mkdir -p "$SESSION_CONFIG_DIR"
  14. fi
  15. # 复制配置文件到用户目录
  16. if [ -f "$CONFIG_FILE" ]; then
  17. echo "Copying configuration to: $SESSION_CONFIG_DIR/"
  18. cp "$CONFIG_FILE" "$SESSION_CONFIG_DIR/"
  19. echo "✓ Configuration installed successfully!"
  20. echo ""
  21. echo "Note: You may need to restart your D-Bus session or log out/in for changes to take effect."
  22. echo "Alternatively, restart the dbus-daemon:"
  23. echo " killall dbus-daemon # This will restart automatically"
  24. else
  25. echo "Error: Configuration file not found: $CONFIG_FILE"
  26. exit 1
  27. fi
  28. # 可选:安装到系统目录(需要 root 权限)
  29. if [ "$1" == "--system" ]; then
  30. if [ "$EUID" -ne 0 ]; then
  31. echo "Error: --system option requires root privileges"
  32. exit 1
  33. fi
  34. if [ ! -d "$SYSTEM_CONFIG_DIR" ]; then
  35. echo "Creating directory: $SYSTEM_CONFIG_DIR"
  36. mkdir -p "$SYSTEM_CONFIG_DIR"
  37. fi
  38. echo "Copying configuration to: $SYSTEM_CONFIG_DIR/"
  39. cp "$CONFIG_FILE" "$SYSTEM_CONFIG_DIR/"
  40. echo "✓ System-wide configuration installed successfully!"
  41. fi