꽉 찬 윈도우 PC에 작별 인사를? WinApps가 해결책이 될 수도 있습니다(약간의 수정이 필요하지만요).

몇 달 밖에 지나지 않았는데 저는 리눅스를 진지하게 시도해 보았습니다. 제 컴퓨터 중 하나에서는 금세 Linux의 열렬한 팬이 되었습니다. 요즘은 Windows보다 Linux에 더 많은 시간을 쓰고 싶지만, 물론 그럴 수 없는 몇 가지 이유가 있습니다. Adobe Lightroom 같은 앱이 없어지면 큰일이고, 많은 사람들이 Microsoft Office 같은 프로그램도 마찬가지라고 생각합니다.

WinApps를 통해 실행되는 Windows 애플리케이션이 있는 AnduinOS 데스크톱을 보여주는 화면

여기 가세요 승리 앱, 최근 친구에게서 들은 프로젝트입니다. WinApps의 목적은 WSL을 통해 Windows에서 Linux GUI를 사용하는 것과 비슷하지만, 그 반대입니다. WinApps를 사용하면 Windows 애플리케이션을 마치 운영 체제의 자연스러운 일부처럼 Linux에서 실행할 수 있습니다. 훌륭한 아이디어로, Windows를 다시 사용할 필요가 없을 수도 있지만, 약간의 노력이 필요합니다.

WinApps는 어떻게 작동하나요?

WinApps는 Linux 환경에서 Windows 애플리케이션을 마치 네이티브 애플리케이션처럼 원활하게 실행할 수 있는 고급 기술을 기반으로 합니다. 간단히 말해, WinApps는 Linux 시스템과 애플리케이션을 호스팅하는 가상 또는 원격 Windows 머신을 연결합니다.

작동 방식을 더 자세히 살펴보겠습니다.

1. 서버(Windows): Linux에서 실행하려는 애플리케이션이 설치된 Windows 머신(가상 머신 또는 원격 물리적 머신)이 있어야 합니다. 이 머신은 "서버" 역할을 합니다.
2. RDP 프로토콜: WinApps는 원격 데스크톱 프로토콜(RDP)을 사용하여 Linux 컴퓨터와 Windows 서버 간에 보안 연결을 설정합니다. RDP는 한 컴퓨터에서 다른 컴퓨터로 사용자 인터페이스를 전송하는 데 널리 사용되고 안정적인 프로토콜입니다.
3. 원활한 통합: WinApps는 Linux 데스크톱에 Windows 애플리케이션용 개별 창을 생성합니다. 이 창들은 다른 기본 Linux 애플리케이션과 동일하게 작동합니다. 창을 이동, 크기 조절, 작업 표시줄에 고정할 수 있으며, 익숙한 단축키도 사용할 수 있습니다.
4. 리소스 공유: WinApps를 사용하면 운영 체제 간에 리소스를 공유할 수 있습니다. 예를 들어 Linux 애플리케이션에서 Windows 파일 시스템에 접근할 수 있으며, 그 반대의 경우도 마찬가지입니다. 클립보드를 공유하여 애플리케이션 간에 텍스트와 이미지를 복사하여 붙여넣을 수도 있습니다.
5. 성능 : 성능은 네트워크 속도, Windows 기기 성능 등 여러 요인에 따라 달라집니다. 하지만 대부분의 경우 일상적인 사용에는 충분한 성능을 보입니다.

간단히 말해, WinApps는 Linux 환경의 편의성을 포기하지 않고도 좋아하는 Windows 애플리케이션을 활용할 수 있는 스마트한 솔루션입니다. 매끄럽고 통합된 사용자 경험을 제공하여 Linux에서 Windows 애플리케이션에 액세스해야 하는 개발자와 사용자에게 매력적인 옵션입니다.

가상 머신의 힘

Linux에서 실행되는 Windows 가상 머신의 스크린샷입니다. Linux 애플리케이션 실행기가 Windows 애플리케이션을 표시합니다.

Linux에서 Windows를 실행하는 것은 새로운 개념이 아닙니다. 가상 머신하지만 WinApps의 차별점은 바로 이러한 기반 기술을 활용하여 더욱 원활한 환경을 제공하는 방식입니다. 일반적으로 가상 머신은 애플리케이션에 액세스하기 위해 전체 운영 체제가 실행되고 상호 작용해야 합니다. WinApps는 각 애플리케이션이 Linux 데스크톱 환경에서 개별적으로 실행될 수 있도록 지원합니다.

이를 위해 WinApps는 Docker, Podman 또는 libvirt를 사용하여 Windows 설치를 시뮬레이션합니다. 그런 다음 FreeRDP를 사용하여 가상 머신에 대한 원격 데스크톱 연결을 제공합니다. WinApps는 가상 머신에 설치된 애플리케이션에 대한 링크를 제공하여 Linux 호스트의 애플리케이션 실행기에 해당 애플리케이션이 나타나도록 합니다. FreeRDP 덕분에 이러한 애플리케이션 중 하나가 실행될 때 원격 데스크톱 세션은 애플리케이션 창만 캡처하고 Linux 데스크톱 내에서 크기를 조절하여 마치 네이티브로 실행 중인 것처럼 보이게 합니다.

앞서 언급했듯이 이 접근 방식은 WSL을 통해 Windows에서 Linux 애플리케이션을 실행하는 방식과 매우 유사하지만, 통합 GPU를 게스트 운영 체제로 쉽게 전달할 수 없다는 등 몇 가지 제한 사항이 있습니다. 사용하는 가상화 백엔드에 따라 개별 GPU를 전달할 수 있습니다.

FreeRDP는 X11 데스크톱에서 가장 잘 작동하기 때문에 최신 Wayland를 사용하는 경우 여러 버그가 발생할 수 있습니다. WinApps에 대해 알려준 친구가 Wayland 성능 향상 솔루션을 개발하는 데 관심이 있다고 하더군요. 이 부분에서 진전이 있기를 바랍니다.

WinApps 설정: 시작하기 위한 포괄적인 가이드

WinApps는 Linux 환경에서 Windows 애플리케이션을 원활하게 실행할 수 있는 혁신적인 솔루션입니다. 개발자, 일반 사용자, 또는 Linux에서 사용할 수 없는 특정 Windows 애플리케이션에 액세스해야 하는 사용자 등 누구에게나 WinApps는 효율적이고 편리한 방법을 제공합니다. 이 가이드에서는 WinApps를 설정하는 방법을 자세히 안내하여 WinApps를 성공적으로 사용하는 데 필요한 모든 정보를 제공합니다.

기본 요구 사항

설정 과정을 시작하기 전에 다음과 같은 필수 구성 요소가 있는지 확인하세요.

1. Linux 시스템 설치: 작동하는 Linux 시스템이 있어야 합니다. WinApps는 Ubuntu에서 광범위하게 테스트되었지만, Fedora나 Debian과 같은 다른 Linux 배포판에서도 작동할 것입니다.
2. 활성 인터넷 연결: 필요한 패키지를 다운로드하고 설치하려면 인터넷 연결이 필요합니다.
3. Wine: WinApps는 Windows 애플리케이션을 실행하기 위해 Wine을 사용합니다. Linux 시스템에 Wine이 올바르게 설치 및 구성되어 있는지 확인하세요. 배포판의 패키지 관리자를 사용하여 Wine을 설치할 수 있습니다. 예를 들어 Ubuntu에서는 다음 명령을 사용할 수 있습니다.

sudo apt 업데이트 sudo apt 와인 설치

4. 원격 데스크톱 프로토콜(RDP) 클라이언트: WinApps를 통해 실행되는 Windows 애플리케이션에 연결하려면 RDP 클라이언트가 필요합니다. Remmina는 대부분의 Linux 배포판에서 사용할 수 있는 널리 사용되고 안정적인 RDP 클라이언트입니다. 배포판의 패키지 관리자를 사용하여 설치할 수 있습니다. 예를 들어 Ubuntu에서는 다음 명령을 사용할 수 있습니다.

sudo apt install remmina

5. sudo 액세스: 패키지를 설치하고 시스템을 구성하려면 sudo 권한이 필요합니다.

설치 단계

모든 필수 구성 요소가 충족되었는지 확인한 후 WinApps 설치를 진행할 수 있습니다. 다음 단계를 주의 깊게 따르세요.

1. WinApps 다운로드: 공식 GitHub 저장소에서 최신 버전의 WinApps를 다운로드하세요. 저장소의 "릴리스" 섹션에서 다운로드 링크를 찾을 수 있습니다.
2. 파일 압축 해제: 파일을 다운로드한 후 Linux 시스템의 적절한 디렉터리에 압축을 해제하세요. 그래픽 파일 관리자나 명령줄을 사용하여 파일을 압축 해제할 수 있습니다.
3. 설치 프로그램 실행: WinApps 파일을 압축 해제한 디렉터리로 이동하여 터미널을 엽니다. 다음 명령으로 설치 프로그램 스크립트를 실행합니다.

./install.sh를

설치 프로그램은 누락된 종속성을 자동으로 다운로드하여 설치하고, Linux 시스템에서 작동하도록 WinApps를 구성합니다.
4. WinApps 구성: 설치가 완료되면 WinApps가 설치된 Windows를 가리키도록 구성해야 합니다. 텍스트 편집기로 `~/.config/winapps/winapps.conf` 구성 파일을 엽니다.
5. Windows 경로 지정: 구성 파일에서 `WINEPREFIX=`로 시작하는 줄을 찾으세요. 이 줄을 Windows 설치 경로를 가리키도록 수정하세요. 예를 들어 Windows 설치 경로가 `/home/user/.wine`이면 해당 줄은 다음과 같습니다.

WINEPREFIX=/home/user/.wine

6. 구성 파일 저장: 구성 파일에 대한 변경 사항을 저장하고 닫습니다.
7. WinApps 실행: 이제 터미널에서 다음 명령을 실행하여 WinApps를 실행할 수 있습니다.

윈앱스

이렇게 하면 Windows에 설치된 Windows 애플리케이션 목록이 생성됩니다. 목록에서 원하는 애플리케이션을 클릭하여 실행할 수 있습니다.

실수를 찾아 해결하다

WinApps를 설치하거나 사용하는 동안 문제가 발생할 수 있습니다. 다음은 몇 가지 일반적인 문제와 해결 방법입니다.

1. 애플리케이션이 작동하지 않는 경우: 애플리케이션이 실행되지 않으면 Wine이 올바르게 구성되었는지, 그리고 애플리케이션이 Wine과 호환되는지 확인하세요. 다른 버전의 Wine을 사용하여 애플리케이션을 실행해 볼 수도 있습니다.
2. 성능 문제: 애플리케이션 실행 속도가 느리다면 Wine에 할당된 메모리 양을 늘려 보세요. `~/.config/winapps/winapps.conf` 설정 파일을 수정하면 됩니다.
3. 디스플레이 문제: 애플리케이션 표시에 문제가 있는 경우 Wine에서 그래픽 설정을 변경해 보세요. `winecfg` 도구를 사용하면 됩니다.
4. 설치 오류: 설치 중에 오류가 발생하면 모든 필수 종속성이 설치되었고 인터넷에 연결되어 있는지 확인하세요.

결론

WinApps는 Linux 시스템에서 Windows 애플리케이션을 쉽게 실행할 수 있는 강력하고 유연한 솔루션입니다. 이 가이드에 설명된 단계를 따르면 WinApps를 빠르게 설정하고 Linux 시스템에서 원하는 Windows 애플리케이션을 사용할 수 있습니다. 더 많은 도움과 정보는 WinApps 공식 문서와 지원 커뮤니티를 참조하세요.

시간이 좀 걸리죠.

WinApps를 시작하는 것이 가장 쉬운 과정은 아닐 수 있지만, Linux, 특히 터미널 사용에 익숙하다면 그렇게 어렵지 않을 것입니다. 프로젝트의 GitHub 페이지에서 자세한 지침을 확인할 수 있지만, 간략하게 요약해 보겠습니다. 먼저, 원하는 가상화 엔진(저는 Docker를 선택했습니다)을 설치하고 그 안에 가상 Windows 머신을 생성해야 합니다. FreeRDP를 테스트한 후에는 Windows 머신에 원하는 애플리케이션을 설치할 수 있습니다.

Windows 애플리케이션을 설치한 후 Linux 호스트에 WinApps를 설치할 수 있습니다. 이렇게 하면 Linux 애플리케이션 실행기에 자주 사용하는 애플리케이션을 등록하여 표시할 수 있습니다. WinApps를 설치할 때 일부 애플리케이션이 목록에 나타나지 않는 경우가 있지만, 다행히 WinApps 설치 과정에서 수동으로 등록하지 않은 애플리케이션도 터미널 명령을 사용하여 실행할 수 있습니다. 따옴표 안의 텍스트를 Windows의 해당 파일 경로로 바꾸면 됩니다.

설치 과정에서 제가 겪은 가장 큰 문제는 Docker 명령어를 사용하려면 sudo를 사용해야 하는데, WinApps를 다운로드하고 설치하는 명령어는 sudo를 먼저 사용하면 작동하지 않는다는 것이었습니다. 공식 설명서에는 없었지만, Linux 사용자 계정을 Docker 그룹에 추가해야 한다는 것을 금방 알게 되었습니다. 해당 명령어는 다음과 같습니다.

sudo usermod -aG 도커 $USER

제품군을 설정하면 WinApps를 성공적으로 설치할 수 있습니다. 그런 다음 Windows 애플리케이션을 Linux 앱 실행기에 추가할 수 있습니다.

정말 효과적인가요?

네... 몇 가지 조건이 있습니다.

원래 Linux에서 사용할 수 없는 앱으로 WinApps를 테스트하고 싶었는데, 가장 먼저 떠오른 앱은 Adobe Photoshop과 Lightroom이었습니다. 두 앱 모두 WinApps에서 공식적으로 지원하는 것으로 표시되어 있고 잘 작동합니다. 둘 중 Adobe Lightroom이 더 좋습니다. 큰 문제 없이 사용할 수 있었습니다. RAW 이미지를 로드하고 자동 조명 보정을 적용했는데, 일상적인 사용에는 충분히 잘 작동했습니다. 별도의 그래픽 처리 장치(GPU)가 없어서 AI 기반 노이즈 제거 기능은 꽤 느렸고 단일 이미지를 처리하는 데 몇 분이 걸렸습니다. 그러나 수동 노이즈 감소 기능은 여전히 ​​사용할 수 있으며 잘 작동합니다. 직관적이지는 않지만 Lightroom이 일반적으로 더 나은 최종 결과를 제공하기 때문에 Darktable이나 RawTherapee보다 여기에서 사용하는 것을 선호합니다.

안타깝게도 포토샵은 그만큼 좋지 않았습니다. 포토샵의 작동 방식 때문에 워크플로우를 방해하는 버그가 발생합니다. 가끔 UI가 멈추고 응답하지 않는 경우가 있는데, Linux 작업 전환기를 사용하여 다른 창으로 전환했다가 다시 돌아오면 간단히 해결할 수 있습니다. UI를 강제로 새로 고치면 문제가 해결되는 것처럼 보이지만, 포토샵에서는 너무 자주 발생하여 워크플로우에 상당한 영향을 미칩니다.

Microsoft Office도 공식적으로 지원되는 것으로 나와 있지만, 현재 라이선스가 없어서 요즘 제가 가장 선호하는 제품군인 WPS Office를 선택했습니다. 이 제품도 대부분 잘 작동하며 문서 작성이나 프레젠테이션 제작에 아주 유용합니다. "새로 만들기" 버튼은 비활성화되어 있지만, "홈" 탭에서 해당 섹션으로 이동하여 새 문서를 만들 수 있습니다.

제가 발견한 것은 애플리케이션 창의 크기를 조정하는 것, 특히 최대화/최소화하는 것은 종종 사용자 인터페이스가 반응하지 않게 만들 수 있다는 것입니다. 이는 Photoshop에서 특정 기능을 사용할 때 발생하는 것과 유사합니다. 대부분의 경우 애플리케이션이 원하는 크기가 되면 문제가 되지 않지만 예상치 못한 상황에서 작업을 완료하고 싶을 때는 약간 답답할 수 있습니다. 그러나 이 사용 사례는 많은 Windows 애플리케이션이나 그와 유사한 것을 다루는 데 적합하지 않습니다. 이는 Linux에 없는 가끔씩 나타나는 애플리케이션에 대한 솔루션입니다. 또 다른 성가신 점은 이미 Windows 애플리케이션이 열려 있는 경우 다른 애플리케이션을 열면 현재 애플리케이션이 사라지는 경우가 있지만 두 번째 애플리케이션을 다시 실행하려고 하면 두 애플리케이션 모두 화면으로 돌아온다는 것입니다. 두 애플리케이션은 기술적으로는 여전히 Windows 가상 머신일 뿐이므로 리본에 동일한 레이블이 표시됩니다.

WinApps는 X11에서 더 안정적으로 실행될 것으로 예상되지만, Wayland에서 사용하면서 별다른 문제는 없었습니다. Photoshop은 안정성이 떨어진 것 같지만, 어느 쪽이든 좋지는 않았습니다.

이는 반드시 모든 사람에게 해당되는 것은 아닙니다.

이 제품이나 서비스가 모든 사람에게 적합하지 않을 수 있으며, 이는 자연스러운 현상입니다. 모든 사람은 고유한 니즈와 선호도를 가지고 있습니다. 구매 결정을 내리기 전에 이 제품이 본인의 특정 요구 사항을 충족하는지 확인하는 것이 중요합니다. 제공되는 기능과 이점을 신중하게 고려하고 시중에 나와 있는 다른 제품들과 비교해 보세요. 다른 옵션이 더 적합할 수도 있고, 이 제품이 바로 본인이 찾던 제품일 수도 있습니다. 결론은 선택은 당신에게 달려 있으며, 당신의 개별적인 상황에 맞춰 정보에 입각한 결정을 내려야 한다는 것입니다.

하지만 적합한 사람이라면 좋은 생각입니다.

Linux에서 AI Denoise를 처리하는 Adobe Lightroom의 스크린샷

피할 수 있는 상황에서도 Windows 사용에 점점 흥미를 잃어가고 있는데, WinApps 같은 솔루션은 적어도 이론상으로는 꿈이 현실이 된 것 같습니다. Linux에서 Windows 애플리케이션을 괜찮은 성능으로 실행하기만 하면 Windows를 독립형 운영 체제로 사용하지 않아도 되고, WinApps가 바로 그런 것을 목표로 합니다. 구현이 완벽하지는 않지만, 주로 Microsoft Office를 사용한다면 괜찮을 것 같습니다.

하지만 모든 사람이 이 설명에 부합하는 것은 아닙니다. Lightroom과 같은 애플리케이션은 내장 GPU가 있는 최신 노트북에서는 잘 실행되지만, Docker에서 사용되는 가상화를 사용하면 성능이 크게 저하되고 일부 워크로드는 처리하지 못할 수 있습니다. DaVinci Resolve도 마찬가지입니다. Linux 버전의 Resolve는 별도의 GPU가 필요하고, Windows에서는 내장 GPU를 사용할 수 있지만, 가상화가 내장 GPU를 거치지 않기 때문에 실제 비디오 편집은 불가능합니다.

Windows 기반 도구가 거의 필요 없다면 WinApps가 그 빈틈을 메울 수 있으며, 향후 가상화 개선을 통해 더욱 개선될 수도 있습니다. 하지만 Linux에서 Windows를 사용하는 것이 Windows 설치를 완전히 대체할 수는 없습니다. 하지만 그럴 수도 있다는 상상은 흥미롭습니다.

댓글이 닫혀있다.