스팀덱 보틀즈(Bottles)를 이용한 윈도우 실행 환경 구축

스팀덱에는 따로 윈도우 설치가 없이도 윈도우 프로그램을 구동하기 위한 다양한 솔루션들이 있습니다.

대표적으로 루트리스나 히로익 같은 런처 스타일의 프로그램들이 인기지만, 복잡한 환경을 간단하게 만들어 주는 만큼이나 프로그램의 내부적인 종속이 너무 심해보인다는 것이 매력적이진 않았습니다.

사실 리눅스에서 윈도우를 구동하기 위해 다루는 와인(Wine) 역시 마구잡이로 관리하면 복잡하고 서로 꼬이기도 쉬운편입니다.

따라서 다른 대안을 찾다 보니 꽤나 괜찮은 앱을 찾을 수 있었습니다.

바로 보틀(Bottle)이라는 윈도우 실행 환경을 컨테이너 형태로 분리해서 관리가 가능한 보틀즈(Bottles)입니다.

윈도우의 환경을 마치 여러대의 PC 처럼 격리시켜 분리 사용하게 만들어주는 보틀즈(Bottles) 는 설치도 간편하고 용도를 나누기에도 굉장히 유리해보입니다.

이름처럼 보틀(Bottle)은 병이기 때문에 와인을 담는 병이라는 의미로 리눅스의 윈도우 실행 환경을 담아주는 컨테이너라고 할 수 있습니다.

보틀즈는 테스크톱 환경에서 디스커버를 통해 쉽게 설치가 가능하며 와인(wine)뿐만 아니라 소다(soda) 라고하는 프로톤의 자체 포크판을 탑재하고 있으며 필요에 따라 프로톤 GE 등의 실행환경도 사용 가능합니다.

페이크 C 드라이브를 비롯해 윈도우 10, 11 버전이나 32,64비트 환경 심지어 한글에 필요한 환경변수까지 설정값을 통해 모든 윈도우 프로그램에 일괄로 사전에 설정이 가능한 것을 보니 정말 편리한 툴인 것 같습니다.

1. Bottles 와 Flatpak 권한 관리용 Flatseal 설치

먼저 스팀 OS의 앱스토어 쯤 되는 디스커버(Discover) 앱에서 다운로드가 가능하니 디스커버를 실행시켜줍니다.

좌측에 bottles 를 검색하면 병 아이콘이 그려진 보틀즈가 나타납니다.

우측의 Install 버튼을 눌러 설치를 진행합니다.

잠시 기다려주시면 되겠습니다.

설치에는 오랜 시간이 걸리지 않습니다만, 외부에서 LTE로 설치해보았는데 꽤나 긴 시간이 걸렸습니다.

마찬가지로 디스커버에서 다운로드한 앱의 권한을 마음대로 수정하는 Flatseal 도 설치해줍니다.

스팀덱 디스커버(Flatpak) 앱 권한을 관리하는 FlatSeal 설치
Flatseal은 스팀덱의 디스커버(Discover)에서 다운로드한 앱들의 좀 더 세세한 권한 부여가 가능한 유틸리티입니다. 예를 들어 MicroSD 카드의 접근 권한을 부여하거나 시스템 폴더에 접근하게 만든다거나 user 폴더에 접근이 가능하도록 만들어줍니다. 따라서 Flatseal 단독으로는 특별하지 않지만 다른 디스커버 앱들과 함께 사용할 경우 상당한 시너지를 발휘합니다. 설치는 간단하게 데스크톱 모드상에서 디스커버에서 flatseal을

Flatpak 기반 앱들의 권한을 수정할 수 있는 Flatseal의 용도는 위 포스팅에서 좀 더 자세히 설명드리도록 하겠습니다.

2. Bottles 실행

Bottles가 설치 완료되었으니 윈도우의 시작버튼이나 마찬가지인 어플리케이션 런처에서 bot를 검색합니다.

가장 상단에 설치된 Bottles가 나타나니 그대로 클릭해서 실행하도록 하겠습니다.

최초 Bottles를 실행하면 패치라도 받는 것인지 약 15~20초 가량의 조금 긴 구동시간이 있습니다.

처음 실행하면 위 사진처럼 웰컴 투 Bottles 화면으로 반겨줍니다.

우측의 화살표를 눌러 넘기실 수 있습니다.

Bottles의 간단한 소개가 나타나는데 윈도우 프로그램을 Bottle 에 담아 격리된 컨테이너 형태로 구동이 가능한 점과 함께,

윈도우 프로그램 같은 것들을 돌리기 위한 실행 환경이란 걸 다시 한번 설명합니다.

화살표를 눌러 마지막 페이지까지 넘기면 Continue를 눌러 웰컴 메세지를 닫아줍니다.

잠시 초기 설치가 진행되는지 로딩이 있습니다만 2~3분내로 완료됩니다.

자 모든 준비가 끝났으며 Start using Bottles 버튼을 눌러 Bottles를 사용하도록 하겠습니다.

Bottles의 초기화면은 라이브러리라는 화면이 열립니다.

위 라이브러리라는 것은 프로그램을 마치 스팀의 비스팀 게임 추가하듯이 보틀즈에서 사용하는 일종의 대시보드입니다.

브라우저의 바로가기 처럼 프로그램에 우클릭해서 쉽게 등록할 수 있고 마치 즐겨찾기처럼 사용할 수 있습니다.

이는 Bottles 세팅 후에 다시 한번 다루도록 하겠습니다.

3. Flatseal을 이용한 Bottles 의 파일 접근 권한 설정

먼저 상단의 Botttles 탭을 눌러 메인 화면으로 넘어오시면 바로 Create a new Bottle.. 버튼으로 새로운 Bottle를 생성 가능합니다.

문제는 스팀 OS에서 파일 권한이 온전하지 않은 ImmutableOS 기반의 스팀덱이다 보니 초기 설정을 그대로 사용하는 경우 실제 파일 위치를 찾기 너무나 어려웠습니다.

따라서 미리 설치해둔 Flatseal을 이용해 파일 권한과 기본 폴더 위치부터 정리하겠습니다.

먼저 어플리케이션 런처에서 flats 를 검색하고 Flatseal을 실행해줍니다.

좌측의 앱 목록에서 Bottles 를 선택해줍니다.

우측으로는 선택한 해당 앱의 세부 권한들의 설정이 가능한 화면이 열립니다.

먼저 SSD 없이 SD카드를 사용하는 분들을 위해 SD카드의 경로부터 Bottles가 접근할 수 있도록 추가하겠습니다.

파일 관리자인 돌핀에서 SD카드에 접근 한 뒤 상단의 주소 표시줄의 파일 경로를 복사합니다.

/run/media/mmcblk0p1/

만국 공통의 기기구조이니 아마도 예외 없이 위와 동일한 주소가 될겁니다.

이번엔 Flatseal 화면에서 우측의 상세 설정을 마우스 스크롤로 내리다 보면 나타나는 파일시스템(FileSystem) 항목을 찾습니다.

아래의 Other files 설정에서 우측에 (1) 새 폴더 모양 아이콘을 눌러주시고 미리 복사해둔 (2) SD 카드 경로를 붙여 넣어줍니다.

마찬가지로 윈도우로 치면 내 문서나 다름 없는 사용자의 홈(home) 폴더에 접근할 필요가 있습니다.

홈 폴더 접근을 위해 All user files 우측 스위치를 토글해줍니다.

위 사진 처럼 SD 카드 주소가 추가되고 홈폴더 권한까지 주어지면 Bottles의 기본적인 권한 설정은 완료입니다.

4. Bottles 의 로컬 파일 경로(Bottles Directory) 설정 변경

Bottles 화면 우측 상단의 햄버거 메뉴 버튼을 눌러줍니다.

두번째 항목인 기본 설정(Preferences) 를 선택합니다.

설정화면이 열리면 마우스로 쭉 스크롤해서 마지막까지 내려갑니다.

Advanced 라는 항목으로 Bottles Directory 라는 설정이 보입니다.

이는 Bottles에 설치된 파일과 윈도우 환경에 필요한 각종 파일들이 들어가는 실제 로컬 경로입니다.

직접 접근해야 할 일이 많기 때문에 어딘지모를 Default 가 아닌 스팀덱의 홈폴더 경로로 설정하겠습니다.

우측 하단의 Default 폴더 모양 버튼을 눌러줍니다.

기본 경로는 이미 홈 폴더입니다.

아래쪽의 (1) New Folder를 눌러 새로운 폴더를 따로 만들겠습니다.

(2) 새 폴더명은 여러분 마음껏 지으셔도 무관합니다. (사진엔 Bottles로 설정했습니다.)

새로만든 Bottles 용 폴더를 선택하고 우측 하단의 선택(Select)을 눌러 로컬 경로로 사용할 폴더 선택을 완료해줍니다.

Bottles 기본 폴더가 변경되어 앱을 재시작해야 한다고 합니다.

팝업 우측 하단의 Relaunch 를 눌러 앱을 다시 시작해줍니다.

기존 앱이 종료되고 다시 Bottles 가 실행됩니다.

메뉴 버튼을 눌러 다시 한번 두번째 항목인 기본 설정(Preferences) 를 선택해주세요.

가장 하단의 Bottles Directory가 정상적으로 바뀐게 확인된다면 로컬 폴더 변경은 완료입니다.

5. Bottles 기본 설정 안내

먼저 첫번째 General 설정 화면입니다만 따로 수정할 것은 없습니다.

💡
정보성으로 중요한 내용만 알려드리겠습니다.

(1) 스팀덱에 설치된 프로톤 설정을 프로그램 별로 설정 가능하게 만드는 옵션 (스팀덱에겐 필요 없습니다.)

(2) 스팀으로 설치한 프로그램들을 기본 목록으로 가져오도록 합니다. (이를테면 소다로 대리 구동 가능)

(3) Bottle에 설치한 에픽 게임즈에서 설치한 프로그램을 자동으로 Bottles 프로그램 리스트에 등록합니다. (필수)

(4) Bottle에 설치한 유비 소프트 게임즈에서 설치한 프로그램을 자동으로 Bottles 프로그램 리스트에 등록합니다. (필수)

스팀덱 기준으로 건드릴 것 없이 위 3,4 번만 선택되어 있는 기본 세팅값이 가장 이상적일 것 같습니다.

다음은 두번째 탭인 Runners를 간단하게 설명하겠습니다.

먼저 Runners 는 말그대로 실행을 위한 실행 환경의 총집합입니다.

Bottles의 기본값은 프로톤의 또 다른 포크 버전인 소다(Soda)로 설정되어 있습니다.

소다의 미리보기 버전을 사용하거나 필요하다면 프로톤 GE등의 환경도 우측 다운로드 버튼으로 한번에 설치가 가능합니다.

와인의 커뮤니티 버전인 GE 와인(Wine)이나 다른 의미로 유명한 루트리스(Lutris) 도 설치해서 사용이 가능한 것처럼 보입니다.

프로톤 GE가 필요하다면 위 사진처럼 우측 다운로드 버튼 클릭 한번만 하면 보틀(Bottle)에서 사용 가능한 환경으로 추가됩니다.

다만 ProtonUp-Qt에서 설치하는 경로와는 또다른 방식인지 파일자체는 아마도 별도의 설치가 될 듯 합니다.

문제는 설치 후 프로그램을 재실행 하면 해당 다운로드 환경이 보이지 않고 아예 해당 폴더로 이동하려했더니 권한이 없는 것인지 따로 열리질 않습니다.

프로그램 재 실행시 마다 다시 설치할 수 있을 것처럼 계속 초기화 되는 것처럼 보이는데..

물론 프로톤 GE환경을 선택해서 사용할 수는 있었습니다.

Bottles 기본 값인 프로톤 포크판인 Soda가 큰 이슈 없이 사용이 가능하다 보니 딱히 GE를 쓸 일은 없어보입니다.

직접 보틀을 생성해야 사용할 일이 있으니 초기에 서둘러 설치할 필요도 없을듯 하구요.

Bottles 는 리눅스 컨테이너 기술인 도커마냥 내가 만든 보틀을 남들에게 공유할 수도 있고 기본적으로 백업이나 스냅샷도 지원합니다.

이미 에픽게임즈나 유비, 블리자드, EA 런처등은 우습게 지원하는 모습이 보이는군요.

기본 설정은 일단 이것으로 마치고 추가적으로 유용한 설정이 있다면 본문을 업데이트 하겠습니다.

보틀을 만드는 것은 용도별로 다양하게 생성이 가능하니 다른 포스트를 통해 다루어 보도록 하겠습니다.

여러가지 시도해보긴 했지만, 윈도우 실행 환경은 확실히 Bottles 하나면 깔끔하게 끝날 것 같습니다.