실행 파일이 있고 secretserviced
사용자가 다음을 만들 수 있기를 원합니다.사용자 서비스에서. 이 실행 파일을 넣고 /usr/bin
만들었습니다.단위file( secretserviced.service
)을 다음과 같이 입력하고 다음 위치에 넣으세요 /etc/systemd/user
.
[Unit]
Description=Service to keep secrets of applications
Documentation=https://github.com/yousefvand/secret-service
[Install]
WantedBy=default.target
[Service]
Type=simple
RestartSec=30
Restart=always
Environment="MASTERPASSWORD=01234567890123456789012345678912"
WorkingDirectory=/usr/bin/
ExecStart=/usr/bin/secretserviced
그런 다음 사용자는 다음을 통해 서비스를 활성화하고 시작할 수 있습니다.systemctl enable --now --user secretserviced.service
이 방법은 몇 달 전까지만 해도 효과가 있었지만 더 이상 작동하지 않습니다.
내 구성에 문제가 있나요?
폴리스티렌: 저는 Archlinux를 사용합니다
답변1
정확한 답변을 얻으려면 다음 출력이 필요합니다.
systemctl status --user secretserviced.service
하지만 제공된 정보에 따르면 이것이 최선의 추측입니다.
WorkingDirectory=/usr/bin/
매우 독특합니다. a를 지정해야 하는 경우 WorkingDirectory=
일반적으로 데이터 구조의 루트를 정의하거나 프로그램이 출력 파일을 생성하는 위치를 정의합니다. bin은 두 경우 모두 작동하지 않습니다. 귀하의 애플리케이션이 을 작성하려고 시도하고 있지만 /usr/bin
귀하의 사용자에게 그렇게 할 수 있는 권한이 없는 것 같습니다.
이 경우 다음과 같이 시도해보십시오.
WorkingDirectory=%h
홈 디렉토리에 쓰도록 하거나WorkingDirectory=%t
임시 런타임 디렉터리에 쓰도록 합니다.WorkingDirectory=%h/path/to/data
특정 데이터 트리를 사용하도록 합니다.
"이 실행 파일을 /usr/bin에 넣었습니다."
일반적으로 .if pacman
에만 설치하세요 /usr/bin
. 거기에 있는 모든 파일은 package 를 반환해야 합니다 pacman -Qo <filename>
. 를 수동으로 복사하거나 사용하여 설치한 경우 make install
일반적으로 에 넣어야 합니다 /usr/local/bin
. 이렇게 하면 배포판에서 관리하는 파일과 관리하는 파일을 쉽게 확인할 수 있습니다. 파일을 직접 설치하셨다는 사실을 /usr/bin
보면 설치에 문제가 있을 수 있다는 생각이 들었습니다.
/usr/bin/secretserviced
철자가 올바른지 확인 하고 실행 가능한 것으로 표시하십시오. 실행 가능하지 않은 경우 sudo chmod w+x /usr/bin/secretserviced
. 이것이 실제로 문제라면 systemd status --user secretserviced
보고될 것입니다 exit code 203
.