Windows Subsystem for Linux a.k.a Bash on Ubuntu on Windows

16년 7월 배포된 윈도 10 레드스톤 버전에는 같은 해 4월에 MS Build 컨퍼런스에서 뜬금포 공개된 WSL이 들어있다.

그동안 CygWin이니 MinGW니 최근의 Babun이니 해서 Windows 내에서 Linux 전체 또는 일부를 사용할 수 있게 하는 프로젝트가 여럿 있었고, 각자 제 성과를 거두어온 바 있었다. 문제는 갖가지 방식 모두 Linux에서 쓰던 바이너리를 그대로 쓰진 못하고, Windows용으로 새롭게 포팅(맞나?)해야 하는 한계? 귀찮음? 이 있었다.

새로 탑재된 WSL이 위의 기존 방식들과 다른 점은, Linux 바이너리를 그대로 쓰면서 바이너리의 시스템 콜을 "커널" 단에서 에뮬레이션(틀렸지만 넘어갈게요. 이 글 누가 본다고..)해준다는 점이다. 그 덕분에, 우분투의 리눅스 시스템용 기존 소프트웨어 저장소를 그대로 쓸 수 있다!

아직 256색조차 제대로 지원이 안 되고, 한글 입력이 뭔가 어설프고 해서 여러 가지로 갈 길이 멀다. 그러나, Unix-like BSD 시스템을 바탕으로 해서 리눅스와 잘 어울리는 macOS의 자리를 뺐을 시도를 할 수 있게 된 점에서 큰 의의가 있다. 네이티브 Linux 지원이라니, 이전 스티브 발머 CEO 시절이라면 상상도 할 수 없는 일일 것이다.

안 되는 점

  • 256색 이상 지원 (X11로 별도의 터미널 에뮬레이터 창을 띄우면 해결)
  • Loop 장치 마운트 -- EXT4 파티션 이미지 같은 것들 마운트가 안 된다
  • Chromium 기반 프로그램들 (?) -- 잘 모르겠지만 어쨌든 실행이 안 되고 죽는다
  • GPU 지원 -- CUDA, TensorFlow 등등이 안 돌아간다.
  • 시작 시 자동 실행 -- 몇몇 꼼수가 있으나 그리 좋아 보이진 않는다.
  • SSH 데몬, 웹 서버 등 구동하기 -- 자동 시작이 안 되서 불편하고, 보안 취약점이 왕왕 존재할 수 있다.
  • 등등

Synopsys, Cadence 등 업체의 반도체 설계를 위한 EDA 툴 설치/실행

갖가지 안 되는 것들을 빼면 사실상 우분투 리눅스이기 때문에, 실 PC 또는 가상머신에서 돌아가는 프로그램이면 윈도 Bash에서도 돌아는 간다. 연산 결과가 죄다 틀린다던지, 어떤 오류가 있을지는 모르지만...

그래서, Synopsys Design Compiler를 윈도 Bash에서 돌려보았다.

  • Synopsys Solvnet 홈페이지에서 Installer 및 Design Compiler 설치 프로그램을 받아서, 안내대로 설치한다...
  • 라이선스 (나는 학교 것으로...), PATH 등 환경 변수를 설정해준다.

$ vim ~/.bashrc

export LM_LICENSE_FILE=blahblah

export PATH=/usr/synopsys/blah:$PATH

  • 실행해보면 동적 라이브러리가 없다고 오류가 발생한다. 정식 지원 환경인 Redhat이 아니기 때문일 텐데...

$ dc_shell

/usr/synopsys/blahblah/common_shell_exec: error while loading shared libraries: libblah.so.?: cannot open shared object file: No such file or directory

  • ldd 명령을 쓰면 바이너리 실행에 필요한 어떤 라이브러리가 없는지 알 수 있다.
  • 예로 든 dc_shell은 스크립트이고, 스크립트 내에서 common_shell_exec 바이너리를 실행한다. 그러니<

$ ldd /usr/synopsys/path/to/binary/common_shell_exec

  • 이제 없는 라이브러리 파일이 어떤 패키지에 들어있는지 알아낸 후 apt 명령으로 열심히 설치하면 된다.<
    • 구글에서 바이너리 이름으로 검색하거나
    • "apt-cache search " 명령으로 검색할 수 있다.
  • 아래 라이브러리를 설치했다. 그 전에 이것저것 더 깔았기 때문에, 실제로 설치가 필요한 패키지는 이보다 더 많을 수 있다.<

    $ sudo apt-get install libxss1 libsm6 libice6 libxft2 libjpeg62 libtiff5 libmng2

  • 문제는 최신 버전에 없는 구형 라이브러리를 요구하는 경우가 있는데...
    • 안타깝게도 libtiff3, libmng1이 libtiff5, libmng2으로 업그레이드되었다.
    • 대충 최신 라이브러리 파일을 예전 라이브러리 파일 이름으로 심볼릭 링크를 걸어본다.

      $ sudo ln -s /usr/lib/x86_64-linux-gnu/libtiff.so.5 /usr/lib/x86_64-linux-gnu/libtiff.so.3

      $ sudo ln -s /usr/lib/x86_64-linux-gnu/libmng.so.2 /usr/lib/x86_64-linux-gnu/libmng.so.1

  • 이제 실행해보면 잘 돌아간다. 그런데 정말 잘 돌아가는걸까?
반응형

Python에서 GUI를 구현하는 라이브러리 중 wxWidget 기반의 wxPython은 결국 Python3가 대세가 된 지금도 Python2만을 지원하고 있다.

대신 Phoenix 프로젝트라는 이름으로 Python3 지원 및 기능 개선을 위한 개발이 진행 중이라고 한다. 피닉스... 이인제 의원님...

설치법

https://wiki.wxpython.org/How%20to%20install%20wxPython

16년 12월 현재, 아직 정식 버전이 나오진 않은 상태다. 대신 개발 빌드를 컴파일한 패키지를 받거나, 소스에서 빌드해야 한다.

소스 직접 설치

$ pip install wx ; 소스를 받아 직접 컴파일

미리 컴파일된 패키지 설치

$ pip install --user --trusted-host wxpython.org --pre -f https://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 또는, https://wxpython.org/Phoenix/snapshot-builds/ 에서 컴퓨터 환경, Python 버전에 맞추어 wheel 패키지를 직접 받아서 설치해도 된다.

사용법

기존 wxPython을 안 써봤지만, 별 차이는 없나보다. 아래 튜토리얼을 참조하기로...

https://wiki.wxpython.org/How%20to%20Learn%20wxPython http://zetcode.com/wxpython/

반응형

어쌔신 크리드: 유니티

발매: Ubisoft

  • 오픈 샌드박스 게임의 장인 유비소프트가 야심차게 만든 어쌔신 크리드 프랜차이즈 신작이었으나, 당시 기준 끔찍한 고사양에 게임 진행이 불가능할 정도의 버그 덩어리, 애매한 스토리로 욕만 무지무지 얻어먹고 말아먹은 작품이었다.
  • 후속작 신디케이트로 명성을 복원하고, 이제부터는 2년에 한 번씩만 작품을 내놓겠다니 다행인 일.

플레이 전 샌각

  • 물론 전작 대비 크게 향상된 그래픽 품질, 전작보다 더욱 발전한 NPC AI는 이 작품의 좋은 점이다. 전투가 대충 버튼 몇 번 누질르면 되는 점, 사용자가 조작하는 부분보다 스토리텔링에 드는 시간이 배로 많은 점 때문에 이게 게임인가 싶을 수는 있겠지만, 이런 류 게임이 그렇지 뭐.
  • 2016년 현재는 컴퓨터 성능이 당시보다 더욱 높아졌고 왠만한 버그는 다 잡혔으며, 가격이 반 이하로 내린데다 무엇보다도 드디어 내 PC 업그레이드가 되었으니 이제야 플레이해볼 수 있게 되었다.

첫 감상

명성대로 그래픽 품질이 매우 뛰어나다. 그러나 출시 몇 년이 지났는데, 아직도 윈도 10 관련 강제 종료 이슈가 있네.

플레이 후

  • 전통의 휘파람이 사라진 바람에 어려워진 전투
  • 여전히 남아서 플레이어를 괴롭히는 버그
  • 프랑스 혁명 배경이지만, 군중은 거들 뿐.
    • 시민과 함께 점령전을 벌이는 트레일러 영상은 고짓말...
  • 힘 빠지는 스토리. 처음부터 끝까지 주인공은 엘리스 사랑꾼일 뿐.
  • 그래도 그래픽은 좋음, 특히 시민 NPC 그래픽이 점점 나아지는 듯.
반응형

바이오쇼크 2 리마스터

2K / Irrational Games... (이젠 남보다 못한 사이)

바이오쇼크 1이 잘 나가자, 프로듀서 켄 레빈은 쏙 빼놓고 (당시 바이오쇼크 인피니트 (3편) 개발 중) 만든 속편이라고...

원작 분위기를 그대로 살린 속편이나, 본편 스토리로 취급은 안 되는 것 같다.

바이오쇼크 인피니트를 재밌게 플레이한 뒤, 험블 번들에서 2K 번들이 떴길래 1, 2 세트로 산 제품이었다. 그런데 DLC는 어떻게 얻었더라?

1은 지난번에 마쳤고 2는 손 안 대고 있었는데, 16년 9월에 리마스터 소식이 있어 플레이하게 되었다.

왠만한 버그가 잡힌 10월부터 플레이하여 리마스터 버전의 버그로 인한 고통은 거의 받지 않았다.

2는 1에서 공포의 존재였던 빅 대디가 주인공이다. 내가 플레이하니 유리몸이 되는 건 마찬가지이나, 스플라이서는 다굴당하지 않는 한 별 탈 없이 때려잡을 수 있다.

몇 가지 생각들:

  • 다양한 플라스미드 기술을 즐길 수 있었고, 유령화 기술이 매우 유용할 것 같았으나 전기 충격만 쓰게 되었다.

  • RPG병이 걸려 보이는 상자마다 까고 다녀서 그렇겠지만, 돈과 무기가 넘쳐나서 좋았다.

  • 1편에 비해 해킹이 단순해졌다. 1편에서 배관공이 되어 경로 잇는 일 정말 짜증났는데 2편에서는 원버튼 클릭질로 바뀌어 다행. 단, 이번에는 해킹 중에 시간이 멈추지 않는다. 해킹질하다 스플라이서 등등에게 들키면 공격받아 죽을 수 있다.

  • 영어로 플레이해서 스토리 이해가 잘 안 되었다. 녹음기는 매번 틀어보기는 하지만 알아듣질 못하니 ㅋㅋ

  • 같이 다니던 빅대디가 죽은 후 슬퍼할 때는 언제고, 순식간에 태도를 바꾸는 리틀 시스터 ㅋ 요새 게임의 NPC AI를 보면 참 기술의 발전이 무서울 정도다.

  • 엘레노어 램 이놈...

반응형

루미노 시티 (Lumino City)

  • 험블 인디 번들 (Humble Day of the Devs Bundle 2016) 통해 구입 (Tier 1; 1$ =_=)
  • 영국의 인디 게임 개발 팀 State of Game이 만든 작품이다.
  • 종이로 작중 배경인 "마을"을 직접 만들고 이를 촬영해서 만든 독특한 아트웍이 인상적인 작품이다.
  • 다만 게임성이 플래시 퍼즐 게임 머시나리움 수준에서 발전되지 않은 건 아쉽다.

장점

  • 실물 종이로 만든 독특한 아트웍, 갖가지 렌즈 효과들
  • "스큐어모피즘" (?) - 실제 물체를 조작해가며 푸는 퍼즐들. 특히 마지막의 "펀치 카드", "테이프 컴퓨터" 퍼즐이 인상적이다.
  • 게임 내장 공략집 - 물론 그냥은 안 알려주고, 해답이 적힌 페이지 수를 맵 요소로 계산하게 한다. e.g. 창문 수
  • 짧은 플레이 시간 - 인디 게임이니까, 아래의 단점을 덮어주니까

단점

  • 그래픽 옵션이 전무 - 오로지 창모드로만 동작한다, 해상도, 세부 묘사 같은 것들을 전혀 설정할 수 없다.
  • 어려운 조작 - 마우스로만 가능한데, 몇 가지 퍼즐은 조작하기가 너무 까다롭다.
  • 찾기 어려운 아이템 - 어디를 클릭해야 할 지 잘 알기 어렵다. 똥멍청이라서 그런 건가? ㅋㅋㅋ
  • 가끔 무얼 조작해야 하는 지 알기 어려움 - 가끔 아무 데나 클릭해봐야 알 수 있을 때가 있다.

아래와 같은 퍼즐에 막혔다.

  • 핵심 아이템이 어디 있는지 몰라서 막힐 때 (빨랫감 바지 찾기, 등대 탈출할 때 쓰는 줄타기 아이템 찾기)
  • 물탱크 펌프 원판 계산식 맞추기
  • 종이짝 맞춰서 전선 잇기

내가 똥멍청이인 걸 또 확인하는 순간 ㅋㅋ

반응형

본 이유

원래는 나중에 VOD 나오고 나서 떙처리 할인하면 그 때나 보려고 했는데,

예매권이 곧 만료되기도 하고 교보문고 들르는 겸 해서 끝물 타임에 관람했다.

느낀 점

  • 운전 중에는 한 눈을 팔지 맙시다. 자기 평생의 커리어가 한순간에 잿더미가 될 수 있어요.
  • 믿고 보는 오이, 내년의 셜록 시즌 4가 더욱 기대된다.
  • 레이첼 맥아담스 잼. 특히 공간 이동 문(?)에 놀라고 뜬금없이 쓰러진 밀걸레 소리에 또 놀라는 모습이 귀엽다. 나이를 안 드시는 듯.
    • 같은 여의사라서 미드 "하우스"의 캐머론인 줄 알았는데 아니었다.
  • 지난 "어바웃 타임"에서부터 이 배우의 매력에 "설레 설레 나는 막 설레~♪".
  • 그런데 후속작에서 어떤 역할을 할 수 있을지는 잘... 이번 작에서는 주인공 스트레인지의 정신줄을 잡아주는 든든한 역할을 하긴 했으나, 꽃병풍 신세...
  • 인셉션의 개념을 발전시킨 뛰어난 도시 왜곡 특수효과가 좋았다. 게임 "퀀텀 브레이크"의 것 같은 거울 공간을 나타내는 효과도 좋았다.
  • DC에 비해 마블이 되는 집이긴 한 것 같다. 악역의 의도가 잘 드러나지 않는 등 아쉬운 점이 있기야 하지만, 딱 적절한 스토리텔링을 하는 듯!

총평

새 캐릭터를 이토록 성공적으로 데뷔시키는 것으로 볼 때 마블의 슈퍼히어로 영화 대세는 앞으로도 쭉 이어질 것 같다.

반응형

The Anti-Helicopter Parent’s Plea: Let Kids Play!

성공한 IT 벤처 사업가인 위 르포의 주인공...

현대 아이들에 대한 분석 결과...

  • 자녀 과보호 -- 유년 시절에 위험에 아예 맞서보질 못함!
  • 자녀 안전 걱정 -- 자녀를 못 믿어서 그러는 것?
  • IT 기기, "어른 지도 하의" 놀이, ... -- 핵노잼
  • 자기 아이를 자유롭게 놀게 한대도, 다른 집 아이 상황도 위와 동일 -- 같이 놀 수 없음

그래서?

  • 성공한 IT 벤처 사업가니까 -- 어렵지 않게 마당 딸린 집 구입
  • 울타리 치고 출입금지, 낙서금지라고 써 붙이는 대신 "놀러 오세요!", "놀이터"라고 써 붙임
  • 뒷마당에 2층 놀이집, 펜스 없는 트램펄린, ... -- 어느 정도 위험을 감수하는 놀이기구 설치
    • 뭐 녹슬고 그래서 생기는 위험을 감수하란 건 아님
  • 앞마당에 테이블 -- 행인과 대화
  • 프로젝터 -- "피리 부는 사나이"
  • 해서 자기 아이들과 놀아줄 이웃 아이, 그리고 이웃 부모 끌어들이기!

교훈

  • 현대에는 "평범한" 유년도 사치인 것 같다
  • 부모 재력이 되어야, 또는 위와 같이 재력 되는 이웃이 있어야 가능한 행복한 소년기 만들어주기.
  • 다만, 마지막 줄의 "I held Kieran’s hand tightly and decided never to play there again." ㄷㄷㄷ
    • 희박한 가능성이라도 자녀 생명의 위협을 부모가 무시하기는 어렵다.
    • (스포) 소설 "키친하우스"에서 그네를 너무 험하게 밀어서 운명을 달리한 소녀 ㄷㄷㄷ
반응형

'스크랩' 카테고리의 다른 글

오픈소스 RTL 모델링 툴들  (0) 2019.05.11
[Intel FPGA] 'IoT 기기 보안 문제는 끝이 없다'  (0) 2017.11.20

+ Recent posts