본문 바로가기

윈도우 개발환경

우분투 서버를 우분투 데스크탑으로 변환 후 네트워크로 연결

1. Vagrant로 우분투 서버 생성

개발을 하다 보면 급하게 리눅스 서버, 우분투 서버를 설치해야 할 경우가 생긴다. 이런 저럼 패키지를 찾아봐도 윈도우에서는 동작하지 않는 경우도 종종 있다. 물론 이전에 작성한 글처럼 도커를 이용해서 우분투를 올리는 것도 빠르고 편하다.

 

Docker로 테스트 환경 만들기; 2. 우분투 데스크탑 만들기

Docker로 테스트 환경 만들기1. Full version 우분투 서버 만들기2. 우분투 데스크탑 만들기0. Docker로 우분투 데스크탑을 사용하는 이유Docker는 VM (Virtual Machine)이 아니기 때문에 일반적으로는 Docker에

front-it.tistory.com

하지만 하드웨어에 설치한 것 같은 우분투가 필요한 경우가 한번씩은 생긴다. 이럴 때 내 노트북에서 가장 빠르게 만드는 방법은 Vagrant와 Virtualbox를 사용하는 방법이다. Vagrant가 설치되어 있지 않다면 아래 글을 참고하면 된다.

 

VirtualBox와 Vagrant로 윈도우에 우분투와 Docker설치하기

0. WSL 우분투 distro의 한계앞에서 설명한 바와 같이 윈도우에는 WSL(Windows Subsystem for Linux)이 있으며, 그 위에 공식적으로 우분투 distro를 제공하고 있다. Docker엔진과 docker-desktop distro 또한 WSL위에서

front-it.tistory.com

아래 파일은 우분투 bionic64 (18.04)를 4G 메모리와 8G 디스크에 설치하고 현재 폴더를 /vagrant에 공유하도록 하고 가상머신이 생성되면 apt update와 인증서를 업데이트하는 것까지 진행하는 Vagrant 파일이다. vagrant init로 생성한 파일에서 이후에도 수정할 때 참고할 수 있도록 코멘트로 막은 부분을 삭제하지 않았다.

 

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/bionic64"

  # ...
  # config.vm.box_check_update = false

  # ...
  # NOTE: This will enable public access to the opened port
  # config.vm.network "forwarded_port", guest: 80, host: 8080

  # ...
  # config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

  # ...
  # config.vm.network "private_network", ip: "192.168.33.10"

  # Create a public network, which generally matched to bridged network.
  # Bridged networks make the machine appear as another physical device on
  # your network.
   config.vm.network "public_network"

   # ...
  # config.vm.synced_folder "../data", "/vagrant_data"

   # ...
   config.vm.synced_folder ".", "/vagrant", disabled: false

   config.vm.provider "virtualbox" do |vb|
     # Display the VirtualBox GUI when booting the machine
     # vb.gui = true

     # Customize the amount of memory on the VM:
     vb.memory = "4096"
   end

   config.vm.disk :disk, size: '80GB', primary: true

   # ...
   config.vm.provision "shell", inline: <<-SHELL
    sudo apt-get update
    sudo apt-get -y install ca-certificates curl
    sudo install -m 0755 -d /etc/apt/keyrings
   SHELL
end

 

이세 "vagrant up"을 실행하고 "vagrant ssh" 명령으로 연결해서 서버 작업을 할 수 있고, 서버와 공유할 자료는 현재 폴더에 넣으면 윈도우와 우분투에서 같이 사용할 수 있다.

2. 우분투 데스크탑과 VNC서버 설치

이렇게 서버로 사용하다가 가끔은 데스크탑이 필요한 경우가 있다. 이럴 경우 서버를 데스크탑으로 바꾸고 VNC로 연결하면 된다.

 

  • 먼저 우분투 데스크탑 패키지를 설치하고,
sudo apt install ubuntu-desktop -y

 

  • 시스템이 시작되면 GUI가 실행되게 설정하고
sudo systemctl set-default graphical.target

 

  • VNC 서버를 설치하면 설치작업은 끝이 난다.
sudo apt install tigervnc-standalone-server -y

 

  • 데스크탑에서 사용할 계정을 새로 생성하고
sudo adduser [사용자 계정]

 

  • vnc로 연결할 때 암호를 걸려면 암호를 설정한다.
vncpasswd

 

  • 이제 VNC 서버를 실행하면
vncserver -localhost no

 

VNC로 접속할 수 있다. VNC포트는 5900부터 시작하는데, 어떤 포트를 사용하는지 확인하려면

 

netstat -ant

 

5901 포트로 LISTEN 하고 있는 것을 확인했으니 VNC로 접속할 때 5901을 사용하면 된다.

 

 

만일 vncpasswd를 설정했으면 Connect를 눌렀을 때 암호를 묻는 화면이 나타난다. vncpasswd명령에서 입력한 암호를 넣으면 된다.