현장에는 여러 대의 기계가 있고 몇 년 동안 업데이트되지 않은 재고가 더 많이 있습니다.uname -a다음을 반환합니다.
Linux <machine 1> 4.18.0-20-generic #21-Ubuntu SMP Mon May 6 18:45:52 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
최신 lubuntu를 사용하여 인벤토리의 기계 이미지를 다시 만들었습니다.uname -a다음을 반환합니다.
Linux <machine 2> 5.19.0-43-generic #44~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon May 22 13:39:36 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
시작 시 실행되어야 하는 응용 프로그램을 다시 설치하고 데스크톱 파일을 ~/.config/autostart에 복사했지만 응용 프로그램이 시작되지 않았습니다. 데스크탑 파일의 내용은 다음과 같습니다.
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
StartupNotify=false
Exec=/bin/bash -c "sleep 5 && /opt/myApp/autostart.sh"
Path=/opt/myApp/current
Name=MyApp
Comment=Application to run at startup
터미널 창을 실행하고 실행하면/bin/bash -c "sleep 5 && /opt/myApp/autostart.sh"자동 시작 기능에서 기대했던 것처럼 응용 프로그램이 시작되었습니다. 부팅 시 앱이 더 이상 실행되지 않게 만드는 두 버전 사이의 변경 사항은 무엇입니까? 무엇을 수정해야 합니까? 여러 가지 옵션을 검색하고 시도했지만 지금까지 아무것도 효과가 없었습니다.
고쳐 쓰다
/opt/MyApp/autostart.sh가 실행되고 있지만 쉘 스크립트의 애플리케이션은 실행되지 않는 것을 발견했습니다. 저는 PM2를 사용하여 nodejs 스크립트를 시작하고 있습니다. 쉘 스크립트에 한 줄을 추가했습니다./스냅/빈/파이어폭스그리고 Firefox가 성공적으로 시작되므로 문제는 자동 시작 및 PM2와 호환되지 않는 것 같습니다. 부팅 시 시작하는 방법에 대한 대안은 PM2 문서를 살펴보겠습니다.
업데이트 2
자동 시작이 전혀 필요하지 않은 것으로 나타났습니다. PM2에는 유틸리티가 있습니다.pm2 시작, PM2에게 사용 가능한 초기화 시스템을 감지하고 구성을 생성하며 부팅 시스템을 활성화하도록 지시합니다. 단순한. 이제 앱은 이전 버전과 동일한 방식으로 작동합니다.