USBIP란 프로젝트가 있습니다. USB over IP를 줄여서 부르는 겁니다.


즉 특정 IP주소에 있는 USB장치를 내 장치에 있는 것처럼 사용하는 방법입니다. 이를 이용하면 지구 반대편에 있는 USB장치(예를 들면 시리얼통신을 쓴 산업장비 등등)을 내 컴퓨터에서 내 장치에 달린 것 마냥 쓸 수 있는 겁니다.


리눅스 커널 3.6 이후에는 이 프로젝트가 커널에 들어가게 되어 USBIP 라이브러리를 설치하는 것 만으로도 이런 것을 사용 할 수 있게 되었습니다. 다만, 바인딩하는 것이 귀찮고 명령이 좀 깁니다. 그리고 Windows에서 사용이 좀 힘듭니다.


그래서 VirtualHere란 업체에서 이를 쉽게 GUI로 만들고 사용할 수 있게끔 결과물을 내놓았습니다. 게다가 안드로이드에 한해서지만 모바일서버를 지원해서 안드로이드에 붙은 USB장치를 PC에서 사용하는 것도 가능해 졌습니다. 심지어 스팀링크에서도 사용이 가능해서 용도가 무궁무진합니다.


일단 저는 안드로이드에 유선형 Xbox컨트롤러를 달아 이를 PC에서 사용 하는 것으로 해보겠습니다. (이렇게 하면 무선 컨트롤러 비스무리하게 쓸 수 있습니다. 스마트폰이 거시기 하지만.


https://www.virtualhere.com/


일단 USB장치가 연결된 곳에 서버프로그램을 설치하고 장치를 사용하고자 하는 곳에 클라이언트를 설치해야 합니다.


서버프로그램은 Windows, Linux, OSX, Android를 지원하고

클라이언트는 Windows, Linux, OSX를 지원합니다. 사실상 3대 대표 OS를 다 지원하는 겁니다. 안드로이드서버가 제일 독특합니다.


서버든 클라이언트든 리눅스에서는 USBIP를 설치해야합니다. 다른 OS는 드라이버를 따로 설치해야합니다. 어찌보면 리눅스가 더 간편합니다.


sudo apt-get install usbip


그리고 홈페이지에서 서버프로그램을 다운로드받아서 설치해야 하는데 온갖 버전들이 즐비합니다. 그 이유는 특정 보드에 최적화된 버전을 준비한 탓인데요. 제일 아래에 가면 안드로이드 버전도 있습니다.


32비트의 경우

wget https://virtualhere.com/sites/default/files/usbserver/vhusbdi386

sudo chmod +x vhusbdi386

sudo ./vhsubi386 -b


이렇게 해주시고


64비트의 경우

wget https://virtualhere.com/sites/default/files/usbserver/vhusbdx86_64

sudo chmod +x vhusbdx86_64

sudo ./vhusbdx86_64 -b


이렇게 해주시면 서버세팅 완료입니다. 안드로이드는 그냥 Play Store에서 서버프로그램을 다운로드 받은 다음 그냥 앱을 실행 하면 됩니다. 이건 설명하고 자시고 할 것도 없네요.


설명을 보시면 제약사항이 있는데 무료로 USB장치는 하나만 된다고 합니다. 일단 저희는 시험만 해보는 것이니 일단 그냥 넘어가 봅시다.


이번에는 클라이언트를 설치하도록 합시다. 다른 PC에서 마찬가지로 USBIP 라이브러리를 설치합시다. OSX나 Windows는 당연히 드라이버를 설치해야 하고요.



https://virtualhere.com/usb_client_software


아래에 보시면 클라이언트가 있는데 GUI와 CLI버전 두가지를 준비해두었습니다. 저희는 귀찮기도 하고 이쪽이 더 편리하니 GUI버전을 다운로드 받기로 하지요.


다운로드 받은 후에는 서버와 마찬가지로 실행속성을 줘야 합니다.

sudo chmod +x vhuit32

혹은

sudo chmod +x vhuit64


GUI로 하시려면 아래 스크린샷을 보시면 됩니다. 속성을 여신 뒤에 실행 허용에 체크만 해주시면 됩니다.


실행속성 주기. 리눅스사용자라면 자주 쓰는 기능입니다. 근데 보통 귀찮아서 그냥 CLI쓰기도...

서버가 동일한 네트워크에 있는 가정하에 클라이언트를 실행하고 잠시 기다리면 서버가 자동으로 검색이 되고 장치를 사용 할 수 있게 됩니다. 저는 안드로이드에 Xbox컨트롤러를 연결하고 기다렸습니다.



저는 바로 연결이 되는데 아닌 분들도 있을 겁니다. 그럴 때는 해당 장치에 오른쪽 버튼을 누르고 Use를 실행하시면 됩니다.


실제로 잘 되더군요. 딜레이도 크게 없었습니다. 요새는 와이파이 속도가 엄청 빠르다보니 USB정도는 그냥 넘어가는 것 같습니다.


virtualHere란 이 프로젝트는 범용성이 워낙 좋아서 다른 용도로도 충분히 사용이 가능할 것 같습니다. 무엇보다 키보드와 마우스조차 사용가능해서 VNC를 대신할 수 있을 것 같기도 하네요.


보너스..


라즈베리파이를 USB 서버로 만들기(물론 라이센스가 있어야 여러개를 쓸 수 있습니다.)


https://www.virtualhere.com/oem_faq

여기 내용입니다.


SSH로 접속후에 아래 내용을 싹 긁어서 넣어주면 됩니다. 그러면 끝.


wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm
sudo chmod +x ./vhusbdarm
sudo mv vhusbdarm /usr/sbin
wget http://www.virtualhere.com/sites/default/files/usbserver/scripts/vhusbdpin
sudo chmod +x ./vhusbdpin
sudo mv vhusbdpin /etc/init.d
sudo update-rc.d vhusbdpin defaults
sudo reboot

이렇게 하면 Virtualhere 서버가 라즈베리파이에 만들어지게 됩니다.


그리고 먼곳에서 접속하기 위해서는 7575 TCP 포트를 열어주셔야 합니다. 왜냐하면 VirtualHere는 7575번 포트로 USB를 원격 접속하기 때문입니다.

,

사실 우분투의 로그온 화면은 참 멋없기로 유명합니다.

그냥 보라색의 화면일 뿐이지요. 다행히도 기본으로 주어지는 화면에 한해서 배경을 바꾸면 로그온 화면도 여기에 맞춰집니다.



하지만 기본 배경화면보다 인터넷에서 구한 멋진 배경화면을 원하시는 분들도 있을 겁니다. 그런 배경화면으로 바꾼다면 로그온 화면은 다시 밋밋한 보라색 화면으로 바뀌게됩니다.


14.04~15.04까지는 이걸 해결하는 방법이 dconf를 쓰는 방법이었습니다. 하지만 지금은 보안상 막아놓았습니다.


하지만 로그온 화면을 바꾸고 싶다면 어떻게 하면 좋을까요?


바로 기본 배경화면으로 인식하게 해주면 되는 겁니다.


http://www.linuxslaves.com/2016/06/easiest-way-change-ubuntu-login-screen-background.html


방법은 바로 여기있습니다.


/usr/share/gnome-background-properties/xenial-wallpapers.xml


위 XML파일을 수정하면 모양 탭에 배경을 추가할 수 있습니다.


일단 배경화면을 root권한으로 /usr/share/background/ 에다가 넣어두도록 합시다.


sudo nautilus


이 명령을 쓰고 넣으면 굉장히 편하겠지요.


그리고

sudo gedit /usr/share/gnome-background-properties/xenial-wallpapers.xml


이 명령을 써서 xml을 수정하도록 합시다.

이 파일을 자세히 보시면

<wallpapers>

  <wallpaper>
     <name>이름</name>
     <filename>/usr/share/backgrounds/~~~.jpg</filename>
     <options>zoom</options>
     <pcolor>#000000</pcolor>
     <scolor>#000000</scolor>
     <shade_type>solid</shade_type>

  </wallpaper>

</wallpapers>


이런 식의 구조로 되어있는 것을 아실 수 있습니다.


즉 <wallpapers>태그 안 쪽에 <wallpaper>라는 태그를 넣어서 저 구조에 맞게 넣어주시면 되는 겁니다.


특히 <filename>태그에는 아까 넣은 그림 파일 명을 절대경로로 밀어넣어주시면 됩니다. <name>에는 그냥 이름을 넣어주시고요.


그리고 우분투의 설정-모양 탭에 들어가보시면 여러분이 넣은 배경이 <name>태그에 넣은 이름으로 나오게 됩니다. 그리고 이를 선택하면


로그온 화면도 같이 바뀌게 되는 겁니다.


조금 귀찮기는 하지만 나름 예쁘지 않나요? 꾸미는 거 좋아하신다면 추천합니다.




p.S Firefox하고 플래시 플러그인하고 자꾸 충돌이 일어나네요. Chromium으로 이미지를 다시 올리도록 하겠습니다. 이전의 Radeon Profile 때도 이러더만...

,

Catalyst가 욕을 무진장 먹기는 했지만 솔직히 한 가지는 굉장히 부러웠습니다. 바로 Catalyst Control Center (이하 CCC)였습니다.


여기서 드라이버 설정을 이리저리 하면 그래픽 품질부터 각 프로그램 당 성능과 화질의 밸런스를 맞출 수도 있고 오버클럭도 자체적으로 어느정도 가능한 점 등등 가끔 생각나게 만드는 기능이었습니다. 물론 Nvidia도 이러한 것이 있고 CCC만큼 참 강력합니다.


오픈소스 드라이버는 이러한 툴이 상당히 부족한 편이었습니다. 2009년 이후로 업데이트가 끊긴 driconf를 제외하면 거의 없다고 해도 과언은 아니었습니다. 그나마도 업데이트가 끊기는 바람에 최신 GPU는 지원이 안 됩니다. (물론 AMDGPU-Pro가 있긴 합니다만...)


그런 오픈소스 드라이버 진영에 가뭄에 단비 같은 툴이 있었습니다. 일명 Radeon Profile입니다. 윈도에서의 Radeon Profile tool하고 얼추 비슷한 느낌이지만 여전히 기능이 이쪽이 딸립니다. 윈도에서는 게임마다 드라이버 버전을 선택한다던지 하는 미친기능이 있었는데 이쪽에는 그런 것이 없습니다. 기본적으로 오픈소스 드라이버를 쓰고 일부 프로그램만 독점 드라이버를 사용한다던지 했으면 참 좋았을텐데요.


그래도 이게 얼마입니까. 함 써봅시다.


https://github.com/marazmista/radeon-profile


소스는 이쪽이고 우분투에서의 PPA는


https://launchpad.net/~trebelnik-stefina/+archive/ubuntu/radeon-profile


여기입니다.


다 필요없고 제일 중요한 것은 이거겠지요.


sudo add-apt-repository ppa:trebelnik-stefina/radeon-profile
sudo apt-get update
sudo apt-get install radeon-profile

 

실행해 보면 GPU온도가 나오고 Performance 모드와 balance 모드 등을 선택할 수 있습니다. 게임을 돌릴 때 Performance 모드로 돌렸다가 일반 사용시에는 balance모드로 바꾸면 되겠지요. 일부 게임의 경우 성능이 올라가다가 마는 경우가 있습니다. 이럴 때 유용하게 쓰실 수 있습니다.


여기서 Performance모드로 만들경우 온도는 급격히 올라가지만 성능은 확실히 좋아진다. 특히 게임할 때 좋다.

자체적인 온도 그래프도 함께 보여주니 Performance모드의 온도를 주기적으로 체크가능하다.


,