tip/tip. Ubuntu2017. 5. 24. 11:27

http://gilmation.com/articles/regexp-keeping-parts-of-a-pattern-in-sed/

'tip > tip. Ubuntu' 카테고리의 다른 글

ubuntu 12.04 + virtualbox + xrdp + 한글....  (0) 2014.04.25
xrdp 셋팅하기  (0) 2014.04.21
linux memory cache 정리하기  (0) 2014.03.05
cygwin 1.7.x 한글 설정 & sshd  (0) 2013.07.12
[Linux] locale  (0) 2013.04.29
Posted by wooix
tip/tip. Ubuntu2014. 4. 25. 18:00

목표

ubuntu 12.04위에 virtualbox 4.3을 설치하고 xp/w7/vista등 client  테스트 환경 구축을 한 뒤

개발자 pc에서 원격으로 ubuntu 에 접속하여 각각의  VM을 실행 하도록 함


설치


1. install ubuntu 12.04 LTS   --> 14.04로 변경

2. apt-get install 보다는 (virtualbox.org에 가서 최근 deb 다운 받아서 설치) --> 14.04 업글후 apt-get 하면 됨

3. apt-get install xrdp --> x11rdp-o-matic으로 변경 (0.9.0)

4. ibus / nabi 둘중하나 써서 한글 환경 셋팅 --> nabi로 확정



세부과정


1. install ubuntu 12.04 LTS --> 14.04 LTS (업글 하지말고 그냥 설치하세요 많이 꼬이네요)

 - CD넣고 깔면 된다. (생략)


2. Virtualbox


 ㅁ deb파일을 다운 받은 뒤 간단히 double click만 해도 설치가 된다. (최신버전 웹페이지에서 다운받자 / apt 가 종종 느리게 버전이 올라 와서 그러하다~)


 ㅁ (VM 기본 설정)


   (1) 가장먼저 해줘야 할것은 호스트 전용 네트워크 설정 (자세한 이야기는 생략한다 아래 셋팅 잘보고 감으로 따라 와라)

        - 사실 하나만 셋팅해서 함께 써도 무관하다 관리의 편의를 생각한다면 하나만 제대로 셋팅해서 쓸것


3. xrdp 설정 ( 이놈이 좀 망할 놈이다. )



   (2) 개별 VM 셋팅 (역시 가장 중요한 부분은 네트웍 쪽이다 아래 쪽 참조 할 것 어댑터 2가 없다고 놀래지 마라 2번대신 그냥 3번에 셋팅한것 뿐이다.)




기타 메모리나/cpu 등은 각 사용자가 알아서 한다. 테스트 pc환경이 i7/16G라 보통 1core/4GB메모리/20GB 디스크 를 할당하였다.


   ㅇ  공유 폴더 (옆에 보이는 + 버튼 이용하면 된다. network setting 잘못되면 잘 안되니 조심하시고)

  

이렇게 하면 기본적인 virtualBox setting은 끝


3. xrdp 설정 ( 이놈이 좀 망할 놈이다. )


  ㅁ apt-get install xrdp  해주면 설치는 끝이다. 

  ㅁ 이제 부터 문제인데 기본 환경은 아래 와 같다.

    (1) session manager 및 xrdp 기본 설정 파일

        /etrc/xrdp 아래  sesman.ini와  xrdp.ini

    (2) 서비스 구동

       # service xrdp start/stop/restart

    (3) 현재 연결된 sesison 정보

       /tmp/.X11-unix/ 아래에 X10~X99 정도 까지의 파일명이 존재 한다.. 개별이 접속된 session의 정보이다. 

  ㅁ 문제점

    (1)  개별 세션이 화면 크기를 따른다. ????

         - client에서 1280x800 으로 접속하고 1920x1080으로 접속해 보면 각각의 세션이 생성된다.

         - 생성된 session의 해상도를 알고 있다면 동일 서버 접속시 mstsc에서 동일 해상도로 셋팅하고 들어가면 기존에 사용하던 세션에 연결된다.  -_-;;;; 뭐하자는건지...

     (2) 세션 관리가 지저분하기 때문에 (접속했던 session은 Xvnc 프로세스가 따로 demon형태로 남아 있다. 즉 한번 연결하고 나면 데몬이 생성되어 메모리를 야금야금 갈가 먹는다 .)

     (3) 세션 kill scirpt

for i in `ps -ef | grep Xvnc | grep -v grep | awk '{print $2}'`

do

   kill -9 $i

done

rm /tmp/.X*lock

rm /tmp/.X11-unix/*

이렇게 라도 스크립트 짜서 종종 session을 clear 시켜 주자


--> (추가) x11rdp 사용시는 grep x11rdp 찾아서 kill 해주고

--> sudo service xrdp force-stop

--> sudo service xrdp start 를 추가해주자


4. ibus / nabi 둘중하나 써서 한글 환경 셋팅


  ㅁ 한글 설정글은 인터넷에 넘치니 패스

  ㅁ xrdp를 이용시 한글사용에 큰 문제가 발생한다.

    (1) 한영키 작동 안됨 

    (2) ibus 한영 대체키인 Ctrl+space 작동 안됨

         -->shift+space로 변경하면 잘됨

    (3) xrdp 접속 화면에서 VM을 실행 시키면 VM에서 한영키 작동이 역시 안됨.....(어쩌라고..)

         --> VM에 있는 (window기준) floating-IM에서 한글/영문 버튼을 클릭해서 사용 ....


  ㅁ 나비로 가는게 정신건강에 조금더 보템이 됨.. (ibus가 gnome 환경이 아닌곳에서 제대로 작동이 안되는 문제가 있음, xfce 및


5. 기타 문제점


  ㅁ xrdp 사용시 원격PC와 xrdp 서버 간에 clipboard 공유 불가 (Ubuntu 12.04 LTS의 경우 xrdp가 0.5.0 버전으로 설치 된다. 높은 버전으로 가려면 Ubuntu 14.04로 갈아타라) --> 현재 0.6.1버전 테스트 중

    --> 현재 14.04에 0.6.1테스트 완료 했는데 결과적으로  clipboard기능은  xrdp가 아니라  vnc나  x11rdp 와 같은 원격 세션 메니저가 문제였던 것임.

   --> vnc 보다는 x11rdp 사용을 권장

   --> x11rdp-o-matic 0.9.0 버전의 경우 직접 git 에서 가져와서  compile해서 사용해 보았는데 clipboard 잘 작동함.!!!!!


  ㅁ vm의 기본 Host key인 "우측 Ctrl" 로 인해 Ctrl+C, Ctrl+v가 vm에서 작동이 안됨

    --> Host Key를 잘 안쓰는 Scroll Lock으로 대체하면 될거 같은데 교체가 안된다. Virtualbox 관련 셋팅을 좀 확인 봐야됨. (알고 봤더니 키선택하고 enter쳐줘야 바뀌더라 -_-;;) 잘쓰고 있음..

'tip > tip. Ubuntu' 카테고리의 다른 글

sed 검색 조건 변수로 이용하기  (0) 2017.05.24
xrdp 셋팅하기  (0) 2014.04.21
linux memory cache 정리하기  (0) 2014.03.05
cygwin 1.7.x 한글 설정 & sshd  (0) 2013.07.12
[Linux] locale  (0) 2013.04.29
Posted by wooix
tip/tip. Ubuntu2014. 4. 21. 15:12

1. 설치

#> apt-get install xrdp 


2. 구동

service xrdp start

service xrdp stop

service xrdp restart

(xrdp  서비스 위치는  /etc/init.d)


3. xsession setting

/usr/share/xsession에 들어가면 접속가능한   session  목록이 있다.

ubuntu 12.04 LTS  기준으로는


root@stdvirtual:/usr/share/xsessions# ls -la
합계 40
drwxr-xr-x   2 root root  4096  4월 21 13:50 .
drwxr-xr-x 291 root root 12288  4월 21 13:50 ..
-rw-r--r--   1 root root   233  4월 19  2012 gnome-classic.desktop
-rw-r--r--   1 root root   277  4월 19  2012 gnome-fallback.desktop
-rw-r--r--   1 root root   188  4월 19  2012 gnome-shell.desktop
-rw-r--r--   1 root root   205  4월 19  2012 gnome.desktop
-rw-r--r--   1 root root   208  4월 19  2012 ubuntu-2d.desktop
-rw-r--r--   1 root root   185  4월 19  2012 ubuntu.desktop

이렇게 6가지가 있고 가장 많이쓰게 되는  unity-2d를 이용하고자 한다면


접속하려는 계정의 ~/.xsession 파일(없으면 만들어라)

에 아래와같이 내용을 넣어준다.


root@stdvirtual:/usr/share/xsessions# cat ~/.xsession
gnome-session --session=ubuntu-2d

그러면 기본 desktop session이 unity-2d 로 접속될것이다.

(파일이없이 해보면 gnome-classic 이 뜨더라..)(


4. xrdp setting

xrdp 의 기본 셋팅은 /etc/xrdp/ 에 있는


sesman.ini

xrdp.ini


두개를 통해서 한다.


sesman.ini 에 있는 

[Sessions]

MaxSessions=3


값을 이용해서 접속가능한 max Session 을 설정할 수 있다. (기본은 10임)

나의 경우 quad core중 3개의 core를 vm에 할당했으므로 원격은 3개로 제한


근데 문제 발생 기본적으로 원격지가 다르면 각각의 다른 세션이 만들어 질거라생각했지만

실제는 동일 원격session에 함께 붙는 문제가 있음 (ex pc1 에서 xrdp 로 접속 pc2,3 에서 xrdp로 접속시 동일 id  사용하면 3개의 화면이 동기화 되면서 같이 움직임.....)


이걸 해결하려면 어떻게 할까나?


--> 답은 /etc/xrdp/sesman.ini에 있는

[Globals]

EnableUserWindowManager=0


으로 셋팅하면 된다.(이 경우 window manager 가 따로 없기때문에 동일 session을 공유하지 않게된다.~)


그럼 복제된 vm에서 연결 시는 어떤경우가 발생될까?

복제된 vm은 동일한 컴퓨터 이름을 가지고있기 때문에 컴퓨터의 이름을 달리하여 구분하게 하면 새로운 session 이 생성된다.




접속된  session 의 정보는


/tmp/.X11-unix/ 에서 확인이 가능하다.


이걸로 xrdp for vm 설정은 끝!!!

'tip > tip. Ubuntu' 카테고리의 다른 글

sed 검색 조건 변수로 이용하기  (0) 2017.05.24
ubuntu 12.04 + virtualbox + xrdp + 한글....  (0) 2014.04.25
linux memory cache 정리하기  (0) 2014.03.05
cygwin 1.7.x 한글 설정 & sshd  (0) 2013.07.12
[Linux] locale  (0) 2013.04.29
Posted by wooix
tip/tip. Ubuntu2014. 3. 5. 17:34

# cat /proc/meminfo 


에서 cache 쪽에 과도하게 메모리 쌓여있는 경우



아래 명령어로 해제 가능



# sync

# sudo sh -c "sync;echo 3 > /proc/sys/vm/drop_caches"


sync 자주 때려줄 것!

'tip > tip. Ubuntu' 카테고리의 다른 글

ubuntu 12.04 + virtualbox + xrdp + 한글....  (0) 2014.04.25
xrdp 셋팅하기  (0) 2014.04.21
cygwin 1.7.x 한글 설정 & sshd  (0) 2013.07.12
[Linux] locale  (0) 2013.04.29
[Ubuntu] Unix $ variables  (0) 2013.04.26
Posted by wooix
tip/tip. Ubuntu2013. 7. 12. 11:28

cygwin.bat에

export LANG="ko_KR.eucKR" 추가


.profile 이나 .bashrc

export LANG="ko_KR.eucKR" 추가


.inputrc

set meta-flag On
set convert-meta Off
set output-meta On


이상!


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


cygwin sshd setting


윈도우

환경변수 셋팅

CYGWIN=ntsec tty 


#> ssh-host-config


이후에


cygrunsvr --start sshd


이후에는 sshd 로 접속


cygwin.bat 필요 x




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


문제점!!!!!!!!!!!!!!!!!!!!!!


ko_KR.eucKR 을 쓸경우 디렉토리 삭제 불가.. -_-

ko_KR.utf-8   을 쓸경우 도움말이 다 깨진다.


어쩌라고...


-> .bashrc 에


다음 코드 추가


if [ $SHLVL < 2 ]

then

 bash

fi


bash 한번더 실행시 현재 문제점은 없어짐 -_-;;


'tip > tip. Ubuntu' 카테고리의 다른 글

xrdp 셋팅하기  (0) 2014.04.21
linux memory cache 정리하기  (0) 2014.03.05
[Linux] locale  (0) 2013.04.29
[Ubuntu] Unix $ variables  (0) 2013.04.26
[Ubuntu] unix signal codes  (0) 2013.04.26
Posted by wooix
tip/tip. Ubuntu2013. 4. 29. 13:46

http://www.tldp.org/HOWTO/Unicode-HOWTO.html#toc4


--> http://www.tldp.org/HOWTO/Unicode-HOWTO-3.html


locale setup


1. file & kernel


vfat / msdos / iso9660 / ntfs 는 utf8 mount 옵션 가짐.


2. Upgrading the C library


glibc-2.1.x  : multibyte locales 지원 불가!

glibc-2.2 : multibyte locales을 지원함.


항상 glibc-2.2부터 설치할것.


3. General data conversion


iconv : glibc-2.2에 딸려오는 프로그램임.


$ iconv --from-code=ISO-8859-1 --to-code=UTF-8 < old_file > new_file

4. Locale environment variables

LANGUAGE

override for LC_MESSAGES, used by GNU gettext only

LC_ALL

override for all other LC_* variables

LC_CTYPE, LC_MESSAGES, LC_COLLATE, LC_NUMERIC, LC_MONETARY, LC_TIME

individual variables for: character types and encoding, natural language messages, sorting rules, number formatting, money amount formatting, date and time display

LANG

default value for all LC_* variables


5. Creating the locale support files

UTF-8 locale 을 지원하려면 아래와 같이

$ localedef -v -c -i de_DE -f UTF-8 de_DE.UTF-8
옵션을 보자면
-v : verbose (상세설명)
-c : Create permanent output
-i locale_definition : locale_definition (/usr/share/locale 참조) 파일을 input으로 가져옴
-f charmap_file : charmap 파일 설정

마지막은 locale_name으로 -i -f의 특성을 가진 locale을 만든다.


요약~)

원하는 locale (예 ko_KR.eucKR)이 있다면

먼저
1. /usr/share/i18n/locales에서 ko_KR 존재 확인
2. /usr/share/i18n/charmaps에서 eucKR 존재 확인


방법1)
$ localedef -vci ko_KR -f eucKR ko_KR.eucKR
로 로케일 생성

방법2)
/etc/locale.gen 에 ko_KR.eucKR eucKR 추가후
locale-get 실행

방법3)
/etc/locale.gen에 ko_KR.eucKR에 주석되어 있다면
주석 삭제후
locale-gen


locale 관련 명령)

locale -a
locale-gen : template에서 현지화 정보 file을 생성 ( template locale.gen )
locale-get
localedef :
compile locale definition files ( template거치지 않고 direct 생성 )
dpkg-reconfigure locales : 충돌나는 locale 을 삭제
apt-get install localepurge


  추가예정

terminal 관련)

xterm은 xterm -u8로 실행해야 utf8을 지원한다.

http://www.ubuntu.or.kr/viewtopic.php?p=107726

'tip > tip. Ubuntu' 카테고리의 다른 글

linux memory cache 정리하기  (0) 2014.03.05
cygwin 1.7.x 한글 설정 & sshd  (0) 2013.07.12
[Ubuntu] Unix $ variables  (0) 2013.04.26
[Ubuntu] unix signal codes  (0) 2013.04.26
[linux] apt-get dpkg  (0) 2013.04.21
Posted by wooix
tip/tip. Ubuntu2013. 4. 26. 16:42
VariableDescription
$0The filename of the current script.
$nThese variables correspond to the arguments with which a script was invoked. Here n is a positive decimal number corresponding to the position of an argument (the first argument is $1, the second argument is $2, and so on).
$#The number of arguments supplied to a script.
$*All the arguments are double quoted. If a script receives two arguments, $* is equivalent to $1 $2.
$@All the arguments are individually double quoted. If a script receives two arguments, $@ is equivalent to $1 $2.
$?The exit status of the last command executed.
$$The process number of the current shell. For shell scripts, this is the process ID under which they are executing.
$!The process number of the last background command.


'tip > tip. Ubuntu' 카테고리의 다른 글

cygwin 1.7.x 한글 설정 & sshd  (0) 2013.07.12
[Linux] locale  (0) 2013.04.29
[Ubuntu] unix signal codes  (0) 2013.04.26
[linux] apt-get dpkg  (0) 2013.04.21
[Ubuntu] Linux APM  (0) 2013.04.16
Posted by wooix
tip/tip. Ubuntu2013. 4. 26. 16:08

Unix Signals

SIGHUP 1 Exit Hangup
SIGINT 2 Exit Interrupt
SIGQUIT 3 Core Quit
SIGILL 4 Core Illegal Instruction
SIGTRAP 5 Core Trace/Breakpoint Trap
SIGABRT 6 Core Abort
SIGEMT 7 Core Emulation Trap
SIGFPE 8 Core Arithmetic Exception
SIGKILL 9 Exit Killed
SIGBUS 10 Core Bus Error
SIGSEGV 11 Core Segmentation Fault
SIGSYS 12 Core Bad System Call
SIGPIPE 13 Exit Broken Pipe
SIGALRM 14 Exit Alarm Clock
SIGTERM 15 Exit Terminated
SIGUSR1 16 Exit User Signal 1
SIGUSR2 17 Exit User Signal 2
SIGCHLD 18 Ignore Child Status
SIGPWR 19 Ignore Power Fail/Restart
SIGWINCH 20 Ignore Window Size Change
SIGURG 21 Ignore Urgent Socket Condition
SIGPOLL 22 Ignore Socket I/O Possible
SIGSTOP 23 Stop Stopped (signal)
SIGTSTP 24 Stop Stopped (user)
SIGCONT 25 Ignore Continued
SIGTTIN 26 Stop Stopped (tty input)
SIGTTOU 27 Stop Stopped (tty output)
SIGVTALRM 28 Exit Virtual Timer Expired
SIGPROF 29 Exit Profiling Timer Expired
SIGXCPU 30 Core CPU time limit exceeded
SIGXFSZ 31 Core File size limit exceeded
SIGWAITING 32 Ignore All LWPs blocked
SIGLWP 33 Ignore Virtual Interprocessor Interrupt for Threads Library
SIGAIO 34 Ignore Asynchronous I/O


http://people.cs.pitt.edu/~alanjawi/cs449/code/shell/UnixSignals.htm

'tip > tip. Ubuntu' 카테고리의 다른 글

[Linux] locale  (0) 2013.04.29
[Ubuntu] Unix $ variables  (0) 2013.04.26
[linux] apt-get dpkg  (0) 2013.04.21
[Ubuntu] Linux APM  (0) 2013.04.16
[Ubuntu] Grub basic 복구  (0) 2013.04.16
Posted by wooix
tip/tip. Ubuntu2013. 4. 21. 10:11

원문 : http://jinz-textcube.blogspot.kr/2007/07/%EC%9A%B0%EB%B6%84%ED%88%AC-%EC%84%9C%EB%B2%84-apt-get-%EC%82%AC%EC%9A%A9%EB%B2%95.html

우분투 서버 apt-get 사용법

우분투 서버는 데비안을 모체로 하고 있으므로 apt-get 사용.
폰트가 깨지는 경우는 export LANG=en_US.UTF-8 로 설정 후 사용.

http://www.debian.org/doc/manuals/apt-howto/index.ko.html

nabi 설치 : apt-get install nabi
제거하기 : apt-get --purge remove nabi
검색하기 : apt-cache search nabi
패키지 정보보기 : apt-cache show nabi
소스리스트 업데이트 : apt-get update
설치된 패키지들 업데이트 : apt-get upgrade

deb파일 설치 : dpkg -i nabi_0.15-2_i386.deb
제거하기 : dpkg -P nabi
설치 deb파일들의 리스트 : dpkg -l
설치된 패키지에 포함된 파일들 보기 : dpkg -L nabi
deb파일 패키지에 포함된 파일들 보기 : dpkg -c nabi_0.15-2_i386.deb
deb파일의 정보보기 : dpkg -I nabi_0.15-2_i386.deb
파일의 패키지명 알아내기 : dpkg -S /usr/bin/nabi


apt는 최신 패키지를 다운로드 하여 설치하게 되는데 upgrade 하기전에 update 해서 source.list 를 갱신

1. 패키지 캐쉬 갱신 및 자동 업그레이드
# apt-get update
# apt-get upgrade

2. 개별 패키지 설치
# apt-get install <패키지명>

3. 원하는 패키지 찾기 
# apt-cache  serach <패키지명>

4. 원하는 패키지 찾은 다음 정보 출력
# apt-cache show <패키지명>

5. 의존성 검사 수행하면서 업그레이드
# apt-get -s dist-upgrade

6. 설치한 패키지에 이상이 있어 다시 설치시
# apt-get --reinstall install <패키지명>

7. CD-ROM 목록 추가
# apt-cdrom add

8. 패키지 삭제
# apt-get remove <패키지명>
또는 # dpkg -P <패키지명>

9. 삭제하는 패키지의 설정화일들가지 모두 삭제시
# apt-get --purge remove <패키지명>

10. dselect에서 선택한 패키지의 설치 및 삭제
# apt-get dselect-upgrade

11. 설치된 패키지를 볼때
# dpkg -l

참고)   apt-get install 명령어로 받은 deb 파일의 저장 위치
          /var/cache/apt/archive/
        위 폴더에 .deb 패키지파일로 저장됨

참고 : 

http://blog.naver.com/koreaotn/10018120191
http://cafe.naver.com/newchany/383

'tip > tip. Ubuntu' 카테고리의 다른 글

[Ubuntu] Unix $ variables  (0) 2013.04.26
[Ubuntu] unix signal codes  (0) 2013.04.26
[Ubuntu] Linux APM  (0) 2013.04.16
[Ubuntu] Grub basic 복구  (0) 2013.04.16
[Ubuntu] Grub 박살난 경우  (0) 2013.04.16
Posted by wooix
tip/tip. Ubuntu2013. 4. 16. 13:48

1. sudo apt-get install apache2

2. sudp apt-get install libapache2-mod-auth-mysql

3. sudo apt-get install mysql-server mysql-client

4. sudo apt-get install php5-common php5 libapache2-mod-php5

5. 연동모듈 설치 

    sudo apt-get install php5-mysql

6. sudo /etc/init.d/apache2 restart

7. 정상작동 확인 

    sudo netstat -tap | grep mysql

"tcp    0    0    localhost.:mysql    *:*    LISTEN    - " 이놈 출력시 정상

아니면 sudo /etc/init.d/mysql restart 실행

8. browser로 phpinfo 확인 ()

9. 기타

    /etc/apache2/apache2.conf

    /etc/mysql/my.cnf


'tip > tip. Ubuntu' 카테고리의 다른 글

[Ubuntu] Unix $ variables  (0) 2013.04.26
[Ubuntu] unix signal codes  (0) 2013.04.26
[linux] apt-get dpkg  (0) 2013.04.21
[Ubuntu] Grub basic 복구  (0) 2013.04.16
[Ubuntu] Grub 박살난 경우  (0) 2013.04.16
Posted by wooix