
내 우분투 컴퓨터에 설치된 가상 상자에 대한 인터페이스를 구성하고 싶습니다. 수동으로 생성하면 작동합니다.
vboxmanage hostonlyif create
vboxmanage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1
ifconfig를 확인하면 다음과 같은 내용이 있습니다.
이러한 변경 사항을 재부팅 후에도 유지하고 시스템 시작 중에 자동으로 설정하고 싶습니다. 이를 위해 제가 한 일은 다음과 같습니다.
sudo mkdir /opt/systemd/
그런
sudo mkdir /opt/systemd/
다음
sudo nano /opt/systemd/vboxhostonly
다음 코드를 파일에 복사합니다.
#!/bin/bash
vboxmanage hostonlyif create
vboxmanage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1
그런 다음 Ctrl + X를 눌러 종료하고, Y를 눌러 저장하고 Enter를 눌러 파일을 작성하세요.
그런 다음 파일을 실행 가능하게 만듭니다.
cd /opt/systemd/ then sudo chmod a+x vboxhostonly
나는 서비스를 만들어서
sudo touch /etc/systemd/system/vboxhostonlynic.service
그런 다음 다음을 입력하여 파일을 편집합니다 sudo nano /etc/systemd/system/vboxhostonlynic.service
.
Description=Setup VirtualBox Hostonly Adapter
After=vboxdrv.service
[Service]
Type=oneshot
ExecStart=/opt/systemd/vboxhostonly
[Install]
WantedBy=multi-user.target
그런 다음 Ctrl + X를 눌러 종료하고, Y를 눌러 저장하고 Enter를 눌러 파일을 작성하세요.
이제 서비스를 설치하고 부팅 시 로드되도록 하려면 다음을 입력합니다.
systemctl daemon-reload
systemctl enable vboxhostonlynic.service
하지만 컴퓨터를 재부팅하면 인터페이스가 없습니다. 도움을 주시면 감사하겠습니다.
답변1
이 (가 ) 스크립트의 에 있는 디렉터리에 없기 때문에 bash
스크립트에서 을(를) 찾을 수 없습니다 . ( ) 에 대한 전체 경로를 사용해 보십시오 . 그러나 더 많은 환경을 스크립트로 이동해야 할 수도 있습니다.vboxmanage
vboxmanage
$PATH
vboxmanage
type -p vboxmanage
시작 스크립트를 통해 실행되는 작업은 systemd
데스크탑에 있는 것과 동일한 런타임 환경에서 실행되지 않습니다. systemd
시작 스크립트는 root
. PATH
변경 사항이나 기타 환경 변수 설정은 작업 ~/.bashrc
에 자동으로 전파되지 않습니다 systemd
. 예를 들어 가 없으므로 $DISPLAY
GUI 프로그램에는 특별한 처리가 필요합니다(읽기 man xhost
). 다른 필요한 환경 변수에도 도움이 필요할 수 있습니다.
echo "=== id ===";id;echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias
각 환경의 결과를 살펴보세요 .