쓰레드 등을 생성하기 위해 CPU 갯수를 구해할 일이 있는데, 리눅스 쪽 방법을 찾느라고, 약간 시간이 걸렸다.

1. Windows
SYSTEM_INFO si;
GetSystemInfo(&si);
si.dwNumberOfProcessors;

2. Linux
#include <unistd.h>
sysconf(_SC_NPROCESSORS_CONF);
-1 이면 오류
지난 번 올린 글에는 각 계정마다 .font.conf 파일을 만들어야 하는 불편이 있었다.
이번에는 시스템 폰트 설정을 수정하여, 각 계정마다 설정파일을 만들지 않아도 되도록 한다.
사용하고자 하는 폰트는 /usr/share/fonts/truetype/ 디렉터리에 복사한다.
저는 /usr/share/fonts/truetype/nanum/ 디렉터리에 복사했다. 또한 네이버에서 받은 압축파일을 풀면
폰트 파일명이  한글로 되어있는데, UTF-8 환경으로 사용하고 있는 시스템에서는 오류가 발생하여
영어로 파일명을 변경했다.

/etc/fonts/conf.d/ 디렉터리에 시스템 폰트 설정파일을 만들어 주면 된다.
설정파일을 내용은 10 ~ 22 픽셀에서 꺼져있는 antialias, autohint 옵션을 활성화하는 것이다.
필자는 59-ttf-nanum.conf 라는 파일명으로 생생했다.

<fontconfig>

<!-- Turn off antialias and autohint for Korean fonts depending on pixelsize -->
<match target="font">
        <test name="lang" compare="contains">
                <string>ko</string>
        </test>
        <test name="pixelsize" compare="more">
                <int>10</int>
        </test>
        <test name="pixelsize" compare="less">
                <int>22</int>
        </test>
        <edit name="antialias" mode="assign">
                <bool>true</bool>
        </edit>
        <edit name="autohint" mode="assign">
                <bool>true</bool>
        </edit>
        <edit name="hintstyle" mode="assign">
                <const>hintmedium</const>
        </edit>
</match>

<!-- Turn on antialias and hinting with hintmedium for Nanum fonts -->
<match target="font">
        <test name="family" compare="contains">
                <string>Nanum</string>
        </test>
        <edit name="antialias" mode="assign">
                <bool>true</bool>
        </edit>
        <edit name="hinting" mode="assign">
                <bool>true</bool>
        </edit>
        <edit name="hintsytle" mode="assign">
                <const>hintmedium</const>
        </edit>
</match>

</fontconfig>

위와 같이 하면 나눔고딕을 좀더 깨끗하게 사용할 수 있다.

아래는 serif와 sans font family에 나눔글꼴을 등록하는 방법이다.
serif에 나눔명조를, sans에 나눔고딕을 등록하였다.
수정해야 할 파일명은 69-language-selector-ko-kr.conf

<fontconfig>

<!-- Set preferred Korean fonts -->
        <match target="pattern">
                <test qual="any" name="family">
                        <string>serif</string>
                </test>
                <edit name="family" mode="prepend" binding="strong">
                        <string>NanumMyeongjo</string>
                        <string>UnBatang</string>
                </edit>
        </match>
        <match target="pattern">
                <test qual="any" name="family">
                        <string>sans-serif</string>
                </test>
                <edit name="family" mode="prepend" binding="strong">
                        <string>NanumGothic</string>
                        <string>UnDotum</string>
                        <string>Guseul</string>
                </edit>
        </match>

참고) 현재 필자는 터미널의 글꼴은 기본설치 설정의 monospace 대신 terminus 글꼴로 설정해 사용하고 있다.
설치방법은  apt-get install xfonts-terminus
출처: IDG(http://www.idg.co.kr/newscenter/common/newCommonView.do?newsId=53080)

비스타가 기업으로부터 외면 당한 가장 큰 이유는 바로 기존의 애플리케이션과 호환되지 않는다는 것이었다. 마이크로소프트는 바로 이 문제를 해결할 수 있는 툴의 공개 베타 버전을 처음으로 공개했다.

MED-V(Microsoft's Enterprise Desktop Virtualization)는 가상화 기술을 이용해 윈도우 2000이나 윈도우 XP용으로 개발된 기존 윈도우 애플리케이션을 윈도우 비스타 상에서 실행할 수 있다.

MED-V 수석 제품 관리자인 랜 오엘가이저는 “우리의 최우선 목표는 IT 부서가 새로운 운영체제로의 마이그레이션 과정에서 부딪히게 되는 애플리케이션 호환성 문제를 해결할 수 있는 기업용 가상화 솔루션을 제공하는 것”이라며, “MED-V 1.0을 사용하면, 가상 윈도우 2000/XP 환경을 쉽게 생성해 배포할 수 있으며, 이를 통해 최종 사용자가 윈도우 비스타 데스크톱에서 기존 애플리케이션을 구동할 수 있다”고 설명했다.

이런 식으로 사용자가 굳이 새로운 운영체제를 도입하기 전에 호환성을 테스트하거나 애플리케이션을 마이그레이션하지 않아도 된다는 것이 장점이다. MED-V 베타는 현재 마이크로소프트 커넥트 사이트에서 배포하고 있다.

MED-V의 최종 버전은 올해 후반기에 발표될 예정이다. 마이크로소프트는 MED-V 관련 기술을 지난 해 5월 키다로(Kidaro) 인수를 통해 확보한 것으로 알려졌다. 실제로 MED-V는 마이크로소프트의 데스크톱 최적화 팩이란 더 큰 소프트웨어 패키지에 포함되어 있으며, 이들 대부분은 마이크로소프트가 가상화 부문 전문업체의 인수를 통해 확보한 것이다. 키다로 외에도 소프트리시티(Softricity), 어셋매트릭스(AssetMetrix), 윈터널 소프트웨어(Winternals Software), 데스크톱스탠더드(DesktopStandard) 등이 대표적이다.

마이크로소프트는 비스타 출시 이후 크게 불거진 호환성 문제를 해결하기 위해 데스크톱/애플리케이션 가상화 기술에 적지 않은 투자를 하고 있다. 실제로 많은 기업에서 윈도우 비스타를 건너뛰고, 윈도우 XP를 끝까지 사용하다 윈도우 7으로 옮겨가려는 데에도 애플리케이션 호환성 문제가 가장 큰 영향을 미친 것으로 분석된다.  elizabeth_montalbano@idg.com


+ Recent posts