Wine : Total Commander 9.0a 설치 및 우분투와 연동. 우쿠분투/리눅스

T.C 는 64bit 판을 설치한다.
8.x 까지는 별 문제가 없지만, 9.x 는, 설치 후 바로 실행하면 오류가 발생하며 화면에 아무 것도 표시되질 않는다. (뭔가 빙글빙글 도는 듯 하다가, 결국 아무 것도 나오지 않는다.)

이 상황은 예전 Tab 표시 문제와 유사하다.

해결 방법은 다음과 같다.
➙ 다음 파일들을 찾아 적절한 편집기로 열고, 인코딩을 UTF-16BE with BOM 으로 바꿔준다.
T.C 가 설치된 폴더(~/.wine/drive_c/Program Files/totalcmd 등)에 있는 *.BAR 파일.
  • DEFAULT.BAR
  • NO.BAR
  • VERTICAL.BAR
그리고 다음 파일도 역시.
  • ~/.wine/drive_c/users/nemo17/Application Data/GHISLER/wincmd.ini
우분투와 쿠분투에서 인코딩을 바꾸는 방법이 좀 다르다. 다르기 보다는 편집기에서 기본 제공하는 기능이 다르다.
  • 우분투 : 텍스트 편집기(Gedit) 에서, '다른 이름으로 저장' 한 후 문자 인코딩을 UTF-16 으로 바꿔준다.
  • 쿠분투 : Kate 에서 제공하는 UTF16 은 UTF16LE w/o BOM 이다. 따라서 다른 편집기나, 적당한 것이 없다면 Geany 를 사용할 것.
Geany 가 이런 기능은 강력(!)하다.



추가로..
T.C 에서 우분투용 프로그램을 돌리는 일도 가능하다.
예를 들어, 터미널이나 파일관리자를 열게끔 할 수도 있는데..

먼저 일종의 wrapper 를 만들어야 한다.

~/bin 등에 적당한 이름을 주고 실행 스크립트를 만든다. 단, 확장자는 exe 로 줘야 하고, 실행 가능하게 해줘야 한다.(chmod +x)
exe 라고 해도 실제 MS 윈도우용 실행파일은 아니고, 그냥 텍스트 파일이다.
~/bin/run-xdg-open.exe 이라고 만들어 봤다.

내용은 이런 식이다.
#!/bin/bash

folder_path="$(sed 's_^'"$HOME"'/.wine/dosdevices/z:__g' <<< "$(winepath -u "$1")")"
/usr/bin/xdg-open "$folder_path"

winepath 는 wine 에서 제공하는 프로그램인데, 리눅스(유닉스) 형식 경로명을 MS 윈도우(도스) 형식으로, 또 그 반대의 기능을 해준다. -u 옵션은 도스 형식을 유닉스 형식으로 바꾸라는 의미이다.

folder_path 는 결국 Dos 용 디렉토리를 리눅스용 디렉토리로 바꾼 결과인데, 다소 복잡하게 sed 까지 쓴 이유는.. 사실 그냥 winepath 만 써도 되는데, 그렇게 되면 경로명이 복잡해질 가능성이 있기에, 그런 혼동을 줄이고자 함이다.

먼저, Wine 에서는 리눅스 /(root) 디렉토리를 Z: 드라이브로 정의하고 있음을 알고 있어야 한다.
즉, Wine 에서 Z:\home 은 리눅스에서 /home 과 같다.
예를 들어, T.C 에서 다음 경로명을 넘겼다고 해보자.

Z:\home\UserX\음악\정리용\aaa\01- 첫번째 노래.mp3


이걸 winepath -u 로 돌리면 이런 결과가 나온다.

/home/UserX/.wine/dosdevices/z:/home/UserX/음악/정리용/aaa/01- 첫번째 노래.mp3


그냥 /home/UserX/음악/정리용/aaa/01- 첫번째 노래.mp3 면 충분한데, 앞에 괜히 쓸데없는/home/UserX/.wine/dosdevices/z:가 붙어버려서 경로가 복잡해졌다. 이런 중복을 없애기 위해 sed 명령을 넣어줬다.
sed 가 더 헷갈리게 보이지만, 문자열 맨 앞(^)에 /home/userX/.wine/dosdevices/z: 이 나오면 삭제하라는, 사실은 간단한 명령이다.
만약 Z: 드라이브가 아닌 C: 드라이브라면 앞 부분이 당연히 그대로 보존된다.

또, xdg-open 은 우분투(또는 xNix)에서 파일(또는 디렉토리)과 연관된 프로그램을 실행시켜주는 명령이다.
만약 xdg-open aa.mp3 라고 하면 우분투에서 주 재생기로 연결된 음악재생기가 뜰 것이고, xdg-open bb.mkv 는 동영상 재생기가, xdg-open /home/user 즉, 디렉토리를 인수로 주면 기본 파일관리자가 뜬다.

밑밥은 끝. T.C 에서 우분투 파일관리자를 해당 디렉토리로 열어보자.
T.C 에서 도구모음을 오른쪽 클릭하고 '변경'을 누른 뒤, '추가'를 선택한다.
내용을 다음과 같이 입력한다.
  • 명령어 : 위에서 만든 run-xdg-open.exe 의 경로를 입력한다.
  • 매개변수 : . (현재 디렉토리) 더도 말고 덜도 말고 . 이면 족하다. 경로가 아니라 특정 파일을 넘기려면 뭔가 다른 매개변수를 써야 할텐데, 그건 아직 몰라서..
  • 아이콘 파일 : T.C 는 확장자가 ico 인 것만 인식하므로, 우분투에서 주로 쓰는 png 나 svg 를 인식하지 못한다. 우분투용 아이콘들을 찾아서(/usr/share/icons) ico 로 변환하여 넣어주는게 좋겠다. 도구모음인데 아이콘이 없으면 이상하잖아? 변환한 아이콘(*.ico)은 적당한 위치에 저장해둔다. (여기서는 ~/.local/share/icons 에 넣었다.)
  • 툴팁 : 적절히, 적당히 입력한다.
이제 T.C 에서 우분투 파일 관리자를 실행할 수 있게 됐다.

응용하면, 터미널을 열 수도 있다. xdg-open 대신 /usr/bin/x-terminal-emulator 또는 아예 /usr/bin/tilix 등을 실행하게끔 wrapper 를 만들면 된다. 역시 매개변수는 . 이면 충분하다.

다음은, T.C 에서 보이는 파일들을 우분투 프로그램들과 연결을 해주는 작업에 대해 정리한다.
예를 들어 mp3 파일을 선택한 후 두번클릭이나 엔터키를 누르면, 우분투에서 할당된 해당 재생기가 뜨는 방식이다.
이것도 위에서 만든 run-xdg-open.exe 을 그대로 사용하면 된다.
  • T.C 에서 '파일' - '내부 파일 연결(토탈커맨더에서만)' 을 선택한다.
  • '추가'를 누르고 파일형식에 *.* 을 입력.
  • 위에서 '확인'을 누르면 동작: '열기' 가 나온다. 여기에 run-xdg-open.exe 경로를 입력한다.
이제 TC 와 우분투는 한 몸(?)이 되었다. ^^




위와 같은 방식으로 mp3tag 에서도 우분투 프로그램을 실행시킬 수 있다.예전에 쓴 글인데, 방법은 동일하다. 원래 이 글은 nautilus 를 직접 실행하게끔 스크립트를 만들었었는데, 보다 범용(Linux User 들이 그리도 부르짖는 Portability!!)으로 사용하기 위해선 xdg-open 을 이용하게끔 바꿔줬다.

핑백

덧글

댓글 입력 영역

Google Analyze


LastFm

MathJax