2017-11-05 1 views
0

우분투 Xenial 데스크탑에서만 프록시 및 Dev configs를 설치하는 데 사용할 설치 스크립트를 작성하고 있습니다.재부팅 후 터미널을 시작하고 systemd에서 스크립트를 실행하십시오.

모든 대화 형이며 사용자가 입력해야하는 2 개의 스크립트가 있습니다. 각 스크립트는 설치 후 재부팅해야하며 자동으로 다른 콘솔을 열고 다음 스크립트와 대화식이되어야합니다.

script_1.sh > reboot > script_2.sh 
     V       V    
    usr input     usr input    
    required     required     

나는 모든 스크립트를 완료하고 나의 도전은 재부팅 후에는 콘솔을 열고 다음을 시작 있도록 Systemd를 구성하려고한다로 일하고있다 : 여기

는 흐름의도 스크립트.

나는 이것에 초보이지만 rc.local을 사용하여 무언가를 작성했다. 게시물의 크기를 읽으면 좋은 설치 방법이 아니라는 말을 듣고 신축성을 사용하기 시작했다. Systemd를 사용해야합니다.

분명히, 나는이 스크립트들을 만들었을 뿐이며, 그 과정에서 완료되었을 때 그들을 복사하고 삭제할 것입니다.이 방법을 사용하는 방법에 대한 도움은 2 일 전에 잃어 버렸기 때문에 환상적 일 것입니다.

이전 atempt : 당신이 제공 할 수있는 모든 도움에 미리

description  "install script" 

start on local-filesystems or runlevel [2345] 
stop on runlevel [!2345] 

pre-start script 
    # prepare environment 
    touch /var/logs/DID.log 
    exec echo DID installation started `date` >> /var/log/DID.log 
end script 

script 
    # do some stuff 
    exec ~/Documents/script_2.sh 
    console output 
end script 

post-stop script 
    # clean up 
    exec echo DID stage 2 installation finished `date` >> /var/log/DID.log 
end script 

건배.

+0

이미 재부팅 중이며 다시 부팅해야하는 이유는 무엇입니까 ?? – sjsam

+0

'은 모두 대화식이며 사용자로부터 입력이 필요합니다. '나는 이것이 일을 처리하는 방법이라고 생각하지 않습니다. 대신 설정 파일을 사용하여 비대화 형으로 시작할 스크립트를 만들어야합니다. – sjsam

+0

첫 번째 스크립트는 내부 프록시 및 도메인 자격 증명에 대한 설정을 구성하고 있으며 재생 한 후 가장 쉬운 방법으로 백업 할 것을 확인했습니다 시스템을 재부팅하는 것입니다. 두 번째 재부팅의 필요성을 제거하고 더 쉽게 만들 수있는 마지막 2 개의 스크립트를 결합 할 수 있습니다. 내가 생각하는 것보다 더 재앙 재부팅이 필요했습니다. – Xander

답변

0

(https://wiki.archlinux.org/index.php/Systemd/User) 도움이 될 수있는 사용자 systemd 스크립트를 만들 수 있습니다.

다음은 systemd에서 스크립트를 시작할 수있는 간단한 예제입니다 (현재 우분투가 아니기 때문에 경로와 함께 작동하지 않을지 모름)는 systemd 사용자 폴더 (아마도/etc/systemd)에 있습니다./사용자/:이 트릭은 당신이 내가 가지고있는 스크립트 (전체 그래픽 환경을 일단 시작을 얻는 것 systemctl --user start servicename.service

내 시스템 (아치)에 나를 위해 실행됩니다

[Unit] 
Description=Start Script in terminal 

[Service] 
ExecStart=/usr/bin/xterm -hold -e /path/to/your/script.sh 

[Install] 
WantedBy=graphical.target 

만약 당신이 systemctl --user enable servicename.service을 달렸다면 우분투가 아니기 때문에 창 관리자보다 거의 확실하게 시작할 것입니다. 도움이 될 수도 있습니다 (마지막 응답) : https://superuser.com/questions/759759/writing-a-service-that-depends-on-xorg. 그들은 로그인 후 그래픽 프로그램을 실행하는 systemd 서비스를 가지고있는 우분투 사용자입니다.

시작 시간을 알아낼 수 있다면 서비스 파일을 만들 수 있습니다. 첫 번째 스크립트의 끝에서 파일을 만들고 활성화 한 다음 두 번째 스크립트가 끝날 때 서비스 파일을 사용/사용 중지하거나 삭제할 수 있습니다.

+0

환상적이어서 지금 내가 잘못 가고있는 곳을 볼 수 있습니다. :) – Xander

관련 문제