우분투에서 에어비디오 서버를 설치할 수 있는 아주 쉬운 방법이 있는데, 국내 블로그를 뒤져보면 아주 복잡하게 적힌 글들이 전부 다였다. 따라서 필자의 초간단 매뉴얼을 공개한다.

참고로 말씀드리면, 데비안에서는 정상적으로 동작하지 않기 때문에 수동으로 설치해야한다. 본 포스팅 맨 아래에 데비안에서 필요한 패키지를 적어놨다.

 

1. 먼저 자바를 설치한다. 필자의 매뉴얼을 참고하시면 되겠다.

http://jswlinux.tistory.com/entry/우분투에서-JDK-설치법

 

2. 우분투 저장소 목록에 에어비디오를 추가한다.

sudo add-apt-repository ppa:rubiojr/airvideo

sudo apt-get update

 

3. 에어비디오 서버를 설치한다.

sudo apt-get install airvideo-server

 

4. 설정파일을 적절히 수정해준다.

sudo vi /opt/airvideo-server/AirVideoServerLinux.properties

필자의 설정파일을 올린다.

path.ffmpeg = /opt/airvideo-server/bin/ffmpeg
path.mp4creator = /usr/bin/mp4creator
path.faac = /usr/bin/faac
password = 원하시는 비번을 넣는다. 공란으로 두면 비번을 묻지않는다.
subtitles.encoding = UTF-8
subtitles.font = NanumGothic
folders = Downloads:/home/user/Downloads,HardBox:/home/user/HardBox/Media/Movie_Clips (원하시는 경로를 넣는다)

 

5. 잘되는지 실행을 해본다.

$ airvideo-server 

만약 아래와 같은 메시지가 나오면서 가만히 있으면 정상적으로 실행되는 것이다.

DEBUG: SnapshotCache: Exception during SnapshotCache initialization: /home/jswlinux/.air-video-server/thumbnailCache.index.db (No such file or directory)
DEBUG: SnapshotCache: Trying to close index and data files
DEBUG: SnapshotCache: Second Attempt of SnapshotCache initialization failed: /home/jswlinux/.air-video-server/thumbnailCache.index.db (No such file or directory)2013-01-01 11:14:43.341::INFO: Logging to STDERR via org.mortbay.log.StdErrLog
2013-01-01 11:14:43.363::INFO: jetty-6.1.x
2013-01-01 11:14:43.389::INFO: Started SocketConnector@0.0.0.0:45631
DEBUG: PortMapperAction: Scheduling task PortMapperAction$2 (6027060)
DEBUG: StatusReportAction: Scheduling task StatusReportAction$2 (8573884)

 

6. 이제, 서버를 부팅할 때 자동으로 실행되도록 init 스크립트를 만든다. 위치는 /etc/init 이며 파일명은 airvideo.conf 라고 정한다. 파일명은 바꿔도 무방하며, 마우스 드래그 방지 때문에 설정파일을 첨부한다.

첨부파일: airvideo.conf

본인의 계정명은 jswlinux이므로 아래의 내용에 유의해서 작성한다.

start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [!2345]
respawn
exec sudo -H -n -u jswlinux LANG=en_US.UTF-8 /usr/bin/airvideo-server

 

7. 재부팅한다. 끝.

 

--------------------------------------------------

데비안용 패키지 목록. 마우스 드래그 방지 때문에 텍스트파일을 첨부했으니 필요하신 분께서는 받아가시면 되겠다.

첨부파일: airvideo-debian_package.txt

libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libvpx-dev libx11-dev libxfixes-dev libxvidcore-dev zlib1g-dev libfaad-dev ca-certificates-java icedtea-6-jre-cacao icedtea-netx libaa1 libaudio2   libcaca0 libclucene0ldbl  libfaad2 libflac8 libgif4 libiodbc2   libjack0 libmng1 libmp3lame0  libnspr4-0d libnss3-1d libphonon4 libpulse0 libqscintilla2-8   libqt4-dbus libqt4-designer  libqt4-network libqt4-opengl  libqt4-ruby1.8 libqt4-script libqt4-sql libqt4-sql-mysql libqt4-svg  libqt4-test libqt4-webkit libqt4-xml libqt4-xmlpatterns libqtcore4 libqtgui4   libqtruby4shared2 libraptor1  librdf0 libruby1.8 libsamplerate0  libsdl1.2debian  libsmokesoprano3  libsndfile1 libsoprano4 libwavpack1 libxcb-shape0 libxcb-shm0  libxcb-xv0 libxine1 libxine1-bin libxine1-console libxine1-misc-plugins  libxine1-x libxslt1.1 libxvidcore4 libxvmc1 openjdk-6-jre  openjdk-6-jre-headless openjdk-6-jre-lib phonon  ruby  ruby1.8 soprano-daemon tzdata-java 

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

su -

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" > /etc/apt/sources.list.d/webupd8team-java.list

echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list.d/webupd8team-java.list

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886

apt-get update

apt-get install oracle-java7-installer

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

제목을 짧게 다느라 그랬지만, 자세히 설명을 해보자면...

 

현재 나는 우분투 리눅스 서버에 모든 동영상 파일을 다 몰아넣고 그것들을 가족들과 공유하고 있다.

그런데, 리눅스의 삼바서버로 접속해서 동영상 파일을 바로 재생하면 중간중간에 꼭 한번씩은 상당히 긴 시간의 딜레이가 생긴다. 대략 30초에서 1분 정도인데, 이게 5분 내지는 10분에 한 번꼴로 생기기 때문에 도저히 영화감상 또는 TV 시청이 불가능할 정도이다.

결국 로그를 분석했고, 본인과 같은 증상을 겪는 분들은 /etc/samba/smbd.conf 파일을 열어서 아래의 세 줄만 추가시켜주면 되겠따.

 

load printers = no

show add printer wizard = no

printcap name=/dev/null

 

예상하시는 바와 같이 삼바서버가 프린트 서버CUPS의 631 포트로의 접속을 끊임없이 하는데에서 생겨난 문제이다.

(Unable to connect to CUPS server localhost:631 - Connection timed out)

위의 세 줄을 추가시켜준 뒤, 아래 프린터 섹션을 모두 주석처리해준 뒤 삼바서버를 재시작하면 되겠다. 그리고나면 이제 끊김없는 동영상 시청이 가능하다.

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

jdk6

$ sudo apt-get install python-software-properties (add-apt-repository 명령어가 없을 시)
$ sudo add-apt-repository ppa:sun-java-community-team/sun-java6
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk

 

jdk7

$ sudo apt-get install python-software-properties (add-apt-repository 명령어가 없을 시)
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-jdk7-installer

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

아파치 서버데몬을 사용할 때, 디렉터리에 index.html이나 index.php 파일 등이 없으면 일반적으로 해당 디렉터리에 있는 파일들을 나열하거나, 혹은 보안상 이를 감추기도 한다. 일반적으로 -Indexes옵션을 붙였을 경우 아래처럼 나온다.

그런데, 굳이 디렉터리의 내용을 감출 필요가 없거나 혹은 내부를 보여줘서 직접 파일을 다운로드하게 할 필요가 있을 때는 직접 보여줘야하는데 일반적으로는 아래처럼 보여지게 된다.

 

이 멋없는 페이지도 개별적인 꾸밈이 가능하다. 설명은 우분투/데비안 기준으로 한다.

도메인이 여러 개가 있어서 특정 도메인에만 세팅할 경우 /etc/apache2/sites-available/에서 알아서 불러오시고, 그런 게 없는 경우는, 즉 다시 말해 잘 모르시겠다면 아래의 명령어를 입력한다.

$ sudo vi /etc/apache2/sites-available/default

그런다음, <Directory /var/www/>라고 적혀있는 부분을 찾아서,

Options으로 시작되는 라인에서 Indexes라는 글자가 있는지 보고 없으면 Indexes라고 적어준다.

예) Options Indexes FollowSymLinks MultiViews

그리고 그 아래에다 다음을 추가시켜준다.

IndexOptions +FancyIndexing +FoldersFirst

마지막으로, </directory>라고 적힌 라인 아래에다 다음을 추가시켜준다.

Include /etc/apache2/pretty-dir.conf

 

최종적인 모습은 다음과 같다. 다른 항목은 신경쓰지 말고, <Directory /var/www/>에서 시작해서 </Directory>로 끝나는 안의 내용과, 그 다음 줄인 Include /etc/apache2/pretty-dir.conf만 신경쓰면 되겠다. 혹시 몰라서 파일을 첨부한다.default.txt

그런다음, 방금 적어준 Include /etc/apache2/pretty-dir.conf 라는 파일의 내용을 작성하면 된다. 역시 파일을 첨부한다. pretty-dir.conf

여기서 주목할 부분은 5번째 라인, "IncludeStyleSheet /.style.css" 이다. 여기서 바로 페이지의 전체적인 모습을 결정한다. CSS로 작성하면 되고, 따라서 웹디자인이 가능하신 분은 알아서 작성해주시면 되겠다. 본인의 샘플은 다음과 같다.  style.css

물론 위치는 아무데나 적어주셔도 상관이 없다. 다만 출처의 예제에서는 디렉토리를 따로 만들어서 넣었지만, 굳이 그렇게까지 할 필요가 없어서 내 경우는 저렇게 했다. 알아서 바꿔주시면 되겠다. 완성된 화면은 다음과 같다.

 

출처: https://we.riseup.net/debian/pretty-directory-indexes

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

이것 때문에 무려 2시간이나 소비했다는 사실. 원인은 정말 쓸데없는 것이었는데...

방법을 공유하고자 한다. 이상하게 국내에는 장고 설치에 관한 블로그가 없다. 본 포스트는 장고를 설치하고 아파치의 mod_python 모듈로 운영하고자할 때 필요한 내용이다.

 

먼저 장고설치. 우분투 10.04 LTS 기준으로 아래의 명령어는 Django 1.1버전이 설치된다. 현재 최신버전은 1.3이며, 장고 홈페이지에서 직접 내려받아서 설치할 수 있다. 이 경우 설치되는 경로만 조금 다를 뿐, 작동은 정상적으로 한다.

sudo apt-get install -y libapache2-mod-python python-django python-django-doc

 

이제 장고가 정상적으로 작동되는지를 알아볼 차례.

sudo vi /etc/apache2/sites-available/django-example

<Location "/">
    SetHandler python-program
    PythonHandler django.core.handlers.modpython
    PythonDebug On
    PythonPath "['/usr/share/doc/python-django-doc'] + sys.path"
    SetEnv DJANGO_SETTINGS_MODULE examples.settings
</Location>

라고 작성해준 다음,

sudo a2dissite default

sudo a2ensite django-example

sudo service apache2 reload

(출처: https://wiki.ubuntu.com/Django)
 

이제 본인의 서버 혹은 컴퓨터로 접속을 해본다. 그러면 아래와 같은 화면을 볼 수 있다.

그러면 이제 나만의 페이지를 만들어볼 차례. 여기서부터 2시간 동안 삽질도 아닌 쌩쑈를 다 했다.

먼저 장고로 웹서비스를 할 디렉토리를 만든다. 예를 들기 위해, 필자의 유저네임은 jswlinux이며, 홈디렉토리는 /home/jswlinux 이다.

장고를 이용한 웹서비스는 /home/jswlinux/jswlinux.com에서 할 예정이라고 가정한다.

 

장고의 어드민 명령어로 초기화 파일을 생성해준다. 프로젝트의 이름은 myproject라고 가정한다.

$ mkdir ~/jswlinux.com

$ cd ~/jswlinux.com

$ django-admin startproject myproject

 

이제 ls를 해보면 myproject라는 폴더가 생성되어있는 것을 볼 수 있다. 그러면 아파치 설정파일을 작성해줄 차례다. /etc/apache2/apache.conf 파일에 작성하라고 되어있는데, 보통 일반적으로는 /etc/apache2/sites-available/ 밑에 작성하는 것이 관리도 수월하고 보기도 편하므로 그곳에 작성하기로 한다.

sudo vi /etc/apache2/sites-available/jswlinux.com

<VirtualHost *:80>

ServerName  seowonjung.com

ServerAlias www.seowonjung.com

DocumentRoot /home/jswlinux/seowonjung.com

<Directory />

Options FollowSymLinks Multiviews

AllowOverride all

</Directory>

 

LogLevel warn

ErrorLog /var/log/apache2/seowonjung.com-error.log

CustomLog /var/log/apache2/seowonjung.com-access.log combined

 

<Location "/django/">

SetHandler python-program

PythonHandler django.core.handlers.modpython

SetEnv DJANGO_SETTINGS_MODULE myproject.settings

PythonPath "['/home/jswlinux/jswlinux.com'] + sys.path"

PythonDebug On

</Location>

</VirtualHost>

 

위의 작성된 내용 중에서 글씨체가 굵게되어있는 곳을 주목해야하는데, 저 부분 때문에 2시간이나 삽질을 했던 거다.

먼저, 첫번째 <Location "/django/"> 라고 되어있는 부분은, 웹서버를 관리해보신 분이면 쉽게 아시겠지만, 웹사이트를 접속했을 때 최종경로를 지정하는 부분이다. 다시 말해, http://jswlinux.com/ 이라고 접속했을 때 장고로 서비스하는 페이지가 나오게 하고싶다면 <Location "/"> 라고 입력하면 되고, http://jswlinux.com/django/ 라고 입력해야 장고로 만들어진 페이지가 나오게 하고싶다면 위와 같이 하면 된다. 별것 아니지만, http://jswlinux.com/ 이라고 접속했을 때 바로 장고로 만들어진 페이지가 나오게 하고싶다면, 사실 상단의 VirtualHost에 해당하는 부분은 모두 삭제해도 상관없다.

두번째, 위의 django-admin startproejct myproject 라고 실행해서 만들어줬던 디렉토리를 넣으면 *절대로* 안된다. 프로젝트 폴더가 만들어진 상위 디렉토리를 넣어야한다. 다시 말해, django-admin 명령어로 만들어진 프로젝트 폴더의 경로가 /home/jswlinux/jswlinux.com/myproject라면, 위의 아파치 설정파일에는

PythonPath "['/home/jswlinux/jswlinux.com'] + sys.path"

까지만 넣어야한다는 사실이다. 여기서 myproject라는 장고 프로젝트의 이름은 그 윗 라인, SetEnv DJANGO_SETTINGS_MODULE myproject.settings 에서 판단한다는 사실을 추측해볼 수 있겠다. 저장하고 아파치를 reload 해준다.

이상 완료하면 다음과 같은 페이지를 볼 수 있다.

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,

우분투 포럼 채팅방에서 일어난 일이었다. 어느 분께서 아파치 서버의 세팅을 뭘 잘못 손대셨는지 뭐가 잘 안된다고 하신다. 그러면서 재설치와 동시에 PHPMyAdmin 설정을 모두 할려고 하는데, 어떤 순서대로 설치를 해야하냐고 물으셨다. 일반적으로 APM의 설치는 다음과 같다.

sudo apt-get install apache2 libapache2-mod-auth-mysql

sudo apt-get install mysql-server mysql-client

sudo apt-get install php5 php5-common libapache2-mod-php5 php5-mysql

sudo apt-get install phpmyadmin

 

그런데, 다른 분께서 위의 명령어를 한 방에 정리하셨다.

sudo apt-get install phpmyadmin

 

그런데 사실이다!!! 생각해보면 phpmyadmin과 의존관계에 있는 패키지들이 모두 연결되어있다. 따라서, 인터넷에 나와있는 리눅스에서의 APM 설치법은 이제 위의 명령어 단 한 줄로 정리가 된다.

sudo apt-get install phpmyadmin (데비안 계열일 경우)

 

실제로 해봤다. 새로 포맷하고 새로 설치하는 컴퓨터에 해봤는데, 우분투나 데비안에서는 위의 명령어를 치기 전에 하나를 해줘야한다.

sudo apt-get install mysql-server mysql-client

왜냐하면, phpmyadmin이 설치되면서 DB의 root 비밀번호를 설정하는 입력화면이 나오는데, mysql-server의 비밀번호가 먼저 설정되어있지 않으면 설치가 제대로 되지않는다. 물론 잘 아는 유저들한테서야 별거 아니지만, 리눅스를 배우기 시작한지 얼마 안되는 분들한테는 엄청 당황스러울 거다. 따라서 우분투/데비안 유저라면 아래의 방법으로 APM을 설치한다.

 

sudo apt-get install mysql-server mysql-client

sudo apt-get install phpmyadmin

 

쉽고 간단한 APM 설치~

블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
php_screw-1.5/php_screw.c:124: error: ‘struct _zend_compiler_globals’ has no member named ‘extended_info’
php_screw-1.5/php_screw.c: In function ‘zm_shutdown_php_screw’:
php_screw-1.5/php_screw.c:133: error: ‘struct _zend_compiler_globals’ has no member named ‘extended_info’
make: *** [php_screw.lo] Error 1

이러한 에러가 날 경우, 위의 에러메시지의 라인 124, 133을 찾아보면 CG(extended_info) = 1; 라고 적혀있는데, 이것을 주석처리하거나 삭제한 뒤, 다시 make 하면 된다.
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
내가 현재 관리 중인 서버의 iptables 정책을 공개한다. 공개해서 개선/유지/보수 하는 것이 목적.
이상없이 돌아가고 있기 때문에 그대로 쓰면 된다.

#!/bin/bash

#################################################################

# Title   : A simple firewall for home users #

# Version  : 1.1 #

# Tested-on : ubuntu 11.04//sbin/iptables v1.4.4 #

# Author  : Brian Jung (09/17/2011) #

# Copyright : N/A  #

# Note   : Thanks to Ubuntu Korea users #

#################################################################


##[ COMMON ROUTINE ]##############################################

## Variables ##

##################################################################

HOME=$(ifconfig -a eth0 | awk '/(cast)/ { print $2 }' | cut -d ':' -f2 | head -1);

iPGroup_BLACKLIST="";


# Block Services - 닫을 포트를 여기에 추가한다.

portGroup_KNOWN_SERVICE="21 23 25 53 69 79 87 110 111 161 512 513 514 515 540 631 1080 1214 2000 2049 4288 5000 6000 6001 6002";


# Must be open for SSH
port_SSH="22";


##[ COMMON ROUTINE ]##############################################

## Initialize ##

##################################################################

#........................................remove previous policies

/sbin/iptables --flush;

/sbin/iptables --delete-chain;

/sbin/iptables --zero;

/sbin/iptables --table nat --flush;

/sbin/iptables --policy INPUT ACCEPT;

/sbin/iptables --policy FORWARD ACCEPT;

/sbin/iptables --policy OUTPUT ACCEPT;


#.....................................................DROP::ALL

/sbin/iptables --policy INPUT  DROP;

/sbin/iptables --policy FORWARD DROP;

/sbin/iptables --policy OUTPUT DROP;


#......................................ACCEPT::incoming traffic

/sbin/iptables --append INPUT --in-interface lo --jump ACCEPT;


#......................................ACCEPT::outgoing traffic

/sbin/iptables --append OUTPUT --jump ACCEPT;


#..............................................................

##[ COMMON ROUTINE ]##############################################

## Start using internet(TCP,UDP) ##

##################################################################

#............................................ACCEPT::INPUT::ALL

/sbin/iptables --append INPUT --in-interface eth0 --match state --state NEW,ESTABLISHED,RELATED --jump ACCEPT;

/sbin/iptables --append INPUT --in-interface eth0 --match state --state NEW,ESTABLISHED,RELATED --jump ACCEPT;


#..............................................................

###############################################################

## Customized area(WARNING::DO NOT USE '--destination-port') ##

###############################################################

#..............................................DROP::black list

for IPLIST in $iPGroup_BLACKLIST

do

/sbin/iptables --table filter --insert INPUT --protocol tcp --source $IPLIST --destination $HOME --jump DROP;

done;



#.............................................REJECT::KNOWN.PORT::STEALTH

for STEALTH_PORT in $portGroup_KNOWN_SERVICE;

do

/sbin/iptables --table filter --insert INPUT --protocol tcp --match state --state NEW,ESTABLISHED --source 0/0 --source-port $STEALTH_PORT --jump REJECT;

/sbin/iptables --table filter --insert OUTPUT --protocol tcp --match state --state ESTABLISHED --source $HOME --source-port $STEALTH_PORT --jump REJECT;

done;


#...................................................ACCEPT::ssh

for IPLIST in $iPGroup_USER_SSH;

do

/sbin/iptables --table filter --insert INPUT --protocol tcp --match state --state NEW,ESTABLISHED --source $IPLIST --source-port $port_SSH --destination $HOME --jump ACCEPT;

/sbin/iptables --table filter --insert OUTPUT --protocol tcp --match state --state ESTABLISHED   --source $HOME --source-port $port_SSH --destination $IPLIST --jump ACCEPT;

done;


##################################################################

## Block known attacks ##

##################################################################


#.............................................. DROP::port scan

/sbin/iptables --new-chain port-scan;

/sbin/iptables --append port-scan --protocol tcp --tcp-flags SYN,ACK,FIN,RST RST --match limit --limit 1/s --jump RETURN;

/sbin/iptables --append port-scan --jump DROP;


#....................................................DROP::ping

/sbin/iptables --append INPUT --protocol icmp --match icmp --icmp-type echo-request --jump DROP;

/sbin/iptables --append OUTPUT --protocol icmp --match icmp --icmp-type echo-reply  --jump DROP;


#.....................................DROP::no syn flood attack

/sbin/iptables --new-chain syn-flood;

/sbin/iptables --append syn-flood --protocol tcp --syn --match limit --limit 1/s --limit-burst 4 --jump ACCEPT;

/sbin/iptables --append syn-flood --protocol tcp --syn --jump DROP;


#..............................................................

##################################################################

## Log ##

##################################################################

#......................................................examples

#/sbin/iptables --append INPUT  --jump LOG --log-prefix "FIREWALL:INPUT ";

#/sbin/iptables --append FORWARD --jump LOG --log-prefix "FIREWALL:FORWARD";

#/sbin/iptables --append OUTPUT --jump LOG --log-prefix "FIREWALL:OUTPUT ";

#..............................................................

##[ COMMON ROUTINE ]###########################################

## End of traffic                      ##

###############################################################

#................................................can be omitted

/sbin/iptables --append INPUT --jump DROP;

/sbin/iptables --append OUTPUT --jump DROP;

#.............................................................. 
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,
아직 나오기도 전부터 화제인 리눅스 배포판이 있다. 이름하야 맨하탄OS. 아마도 본인이 한국유저들 중에서는 처음으로 맨하탄OS의 프리뷰/리뷰를 하는 게 아닐까 싶다.
이 배포판이 내세우는 특징은 다음과 같다.

1. 우분투 기반
2. 아름다운 외형
3. Web Upd8, OMG!, Ubuntu! 등지에서 다루는 프로그램들이나, 리눅스 유저 사이에서 평판이 좋은 프로그램 다수 탑재

정도가 되겠다 (우분투 포럼에서 가져옴).

나름 기대를 좀 하고서 노트북에 바로 설치를 해봤다. 그리고 너무 실망한 나머지 5분 후에 지웠다.
설치과정을 보여드린다.

DVD를 넣고 부팅을 하면 아래의 메뉴에서 그냥 엔터키를 치자.



GRUB이 나온다. Live모드로 부팅해도 설치는 할 수 있으니 live나 혹은 install에서 원하는 것을 선택하자.



VMware에서 돌리다보니 너무 빨라서 스크린샷을 찍을 수 없었는데, 부팅화면이 Ubuntu 10.04랑 완전히 똑같다.
우분투 10.04에서 점 5개가 차례로 불이 켜지는 듯한 화면이 완전히 동일하게 나온다.  독창적인 화면을 기대했는데 다소 실망했었다.
부팅이 끝나고 나면 라이브모드 부팅시 아래처럼 노틸러스의 재시작을 요구한다. 드롭박스 때문인데, 인터넷에 연결이 안되어있으면 어차피 무용지물.



여기서 또 하나 크게 실망(?)한 게 하나 있는데, 매킨토시 유저 사이에서 널리 쓰이는 퀵실버와 완전 똑같은 프로그램이 실행된다는 거다 (퀵실버가 뭐하는 건지는 여기서 확인하자). 사실, 쓰기좋고 편리한 툴은 리눅스든 맥이든 어디든지 다 있어야 사용자의 편의를 위해 좋은 일이긴 하지만, 맨하탄OS라는 이름답게 내심 세련되고 뭔가 좀 독창적인 것을 기대했던 나에게는 허탈한 웃음밖에 나오지 않았다.



노틸러스 재시작을 누르고 퀵실버를 껐더니 드롭박스를 시작하라고 나온다. 인터넷 연결 안되어있으면 Start 눌러도 에러가 난다.



VMware상에서 설치했던 것이므로 인터넷이 연결되어있어서, 개인정보를 입력하는 화면이 나오는데 어차피 라이브 모드니까 입력해봐야 헛수고다.



바탕화면의 모습이다. 인스톨을 할 수 있는 메뉴가 보인다. 그 외의 설명할 것들은 설치가 끝나고 나면 다시 설명한다.



설치화면이다. 우분투랑 완전히 동일하기 때문에 그다지 큰 어려움은 없다. 왼쪽 언어리스트를 맨 아래까지 스크롤해보자.



한국어가 보인다. 클릭하면 한국어로 설치를 시작할 수 있다. 다만 화면에 보이는대로 폰트 설정이 너무 안좋은데, 아직 베타라는 점을 감안하더라도 출시 전부터 나름 화제를 모으고 있는 배포판으로서는 대체 폰트에 대해서 신경을 쓰는 건지 안쓰는 건지 의심스러울 수준.



타임존을 설정하는 화면이다. 본인은 (날씨만) 지상낙원에 살기 때문에 천국으로 설정했다.



역시 우분투와 동일한 메뉴다.



설치가 시작되면 아래와 같이 간략한 정보만 표시된다.



참고로, 설치 도중 화면 우측상단에 있는 X 버튼을 누르게 되면 아래와 같이 설치화면이 닫히는 어이없는 상황이 연출되는데 일단 백그라운드로 설치가 진행되고 있기 때문에 가만히 놔두면 끝날 때 메시지를 준다.



설치가 다 끝나고 재시작을 눌렀는데, 아래의 화면에서 더 이상 진행이 되질 않는다. 그래서 전원을 껐다켰다.



재부팅을 하게되면 GRUB 화면이 나온다. 아래의 화면은 VMware니까 상관없지만 처음 본인의 노트북에 설치할 때는, 노트북에 이미 설치되어있었던 윈도우7은 아예 무시해버리고 자기만 GRUB에 올리는 정말 황당한 화면이 나왔었다. 



로그인화면. 우분투랑 똑같다.



VMware이긴 해도 이것저것 프리뷰를 해보기에는 화면이 좀 작아서 해상도를 변경했다. 모니터 화면에는 아래와 같이 이미지가 깨져서 나온다.



설치가 완료된 맨하탄OS의 화면. 처음 보고 조금 놀란 것이 시스템은 우분투 기반이므로 GNOME이지만 바탕화면의 저 Desktop Folder라는 투명한 화면은 바로 KDE의 것이기 때문이다. 한 마디로 KDE랑 GNOME을 섞어서 둘 다 띄운다는 얘기다.



본인은, 바탕화면 꾸미고 테마 꾸미고 하는 부분에서 전혀 센스가 없고 그때문에 그런데 시간 들이는 게 아까워서 (그런게 또 하다보면 계속 하게되고 주기적으로 또 계속 바꿔줘야한다) 바탕화면도 기본화면, 테마도 기본테마만 쓴다. 따라서 어느 배포판이든 어느 OS든 첫인상과 기본 바탕화면/테마를 중요하게 생각한다.
개인적으로는 전체적으로 확실히 간지나고 예쁘고 화사한 KDE와 달리 GNOME은 좀 칙칙하고 투박하다고 생각는데, 저렇게 두 개를 섞어놓고 어울리지 않게 화면을 만들어놓으니까 정말 어색하고 이상하다 싶었다. 아래는 화면 좌측 하단의 시작(?)버튼을 클릭했을 때 나오는 메뉴.
Accessories, Games, Graphics, Internet, Office, Sound & Video, System, Windows가 있다.



그 시작버튼 옆의 아이콘을 눌렀을 때 나오는 메뉴.



또 한 가지 맨하탄OS에 놀란 점은, 어플리케이션을 띄우면 맥OSX처럼 메뉴를 어플리케이션으로부터 분리해서 메뉴는 화면 상단에 위치시키는데, 개인적으로 참 황당했었다. 따라하는 것까진 좋은데 적당히 배껴야지, 이건 뭐  맨하탄OS라는 이름에 맞지않게 퀵실버부터 파인더까지 완전 똑같이 배껴버리는데 너무 실망이 컸다.
삼성이 아이폰 따라잡겠다고 안드로이드 열심히 고쳐서 만들어낸 갤럭시S가, 결국 아이폰 메뉴구성이랑 다를 바 없이 완전 배껴서 만들어낸 듯한 인상을 받았던 것이다. 맥OSX 따라하면 다 세련되지나?
배껴도 너무 똑같이 배꼈다.



시작버튼의 Windows를 클릭하면 나오는 메뉴인데 WINE이 기본적으로 구성되어져 있어서 유저들에게 편의를 제공한다.



제어판은 나름대로 잘 구성되어있었고, 왼쪽의 그룹에서 카테고리별로도 출력이 가능해서 사용하기에 편리했다.



일단 우분투 기반이므로 한글화가 되어있지 않더라도 언어패치를 설치하는데는 이상이 없을 거라고 생각된다. 프리뷰 정도로 훑어봤는데, 물론 외형만 보고 판단할 수는 없겠지만 일단 개인적으로는 많이 실망한 배포판이다. 사실 그동안 써온 우분투에 다소 식상해있어서 뭔가 새로운 배포판을 찾았었고, 우분투 포럼에서 예전에 한 번 언급된 적이 있는 배포판인지라 테스팅해본다는 심정으로 설치했지만, 맥OSX, KDE, 그리고 GNOME을 짬뽕시켜낸 섞이지 않은 비빔밥 같은 배포판이라고나할까...

대충 훑어보고 5분만에 지워버렸다.
역시 우분투, 쿠분투, 젠투 외엔 아직까지 딱히 맘에 드는 리눅스 배포판이 없구나.
블로그 이미지

jswlinux

Seowon Jung의 잡동사니 보관소

,