태그 보관물: ubuntu

Mac OSX terminal로 Emacs 사용 할 때 meta key 변경

서버에 있는 원격 파일을 편집 할 때 대부분은 Mac용 Emacs에서 Tramp mode로 할 수 있지만, 가끔씩 서버에 접속한 터미널에서 직접 Emacs를 띄우는 경우가 있는데 이 때는 ESC key가 meta로 할당 되어서 도무지 적응 하기가 힘들다. 이 때는 terminal의 Profiles -> Keyboard에서 아랫 쪽에 있는 “Use Option as Meta key”를 설정하면 ESC 대신 Option key를 Meta key로 사용할 수 있다.

OpenGrok 최신버전 설치하기

한 때 갑자기 배포하던 서버가 없어져서 혹시나 하는 걱정에 배포파일을 다운로드 받아 두기까지 했던 OpenGrok project가 다행히 Oracle의 GitHub 내에 자리를 잡고 잘 꾸준히 업데이트 되고 있다.

예전에 작성했던 OpenGrok 설치를 위한 글들은 너무 오래되어서 잘 맞지 않는 것도 있고 해서 최근 버전과 환경을 기준으로 다시 설치 과정을 정리했다. 이 포스팅은 잘 작성된 프로젝트의 문서인 ‘How to setup OpenGrok’을 기준으로 한 나름의 정리이다.

환경과 필요한 것들

– Ubuntu 18.4 LTS
– OpenJDK 11
– Tomcat 9
– Universal-ctags
– 최신 버전의 release file: https://github.com/oracle/opengrok/releases

설치

이 후로는 OpenGrok이 설치 되는 위치를 OPENGROK_DIR로 정의 하고 다음과 같이 환경 변수로 설정 했다고 가정한다.

export OPENGROK_DIR=/var/opt/opengrok

설치할 디렉토리와 하위 디렉토리를 만들어 주고 소유자 권한을 $USER, 그룹 권한을 tomcat으로 설정한 다음, 배포 파일의 압축을 풀어준다. (<version> 부분은 알맞은 값으로 대체)

mkdir -p $OPENGROK_DIR/{src, data, dist, etc, log}
sudo chown $USER:tomcat -R $OPENGROK_DIR
tar -C $OPENGROK_DIR/dist --strip-components=1 -xzf opengrok-<version>.tar.gz

Deployment

Tomcat9을 실행한 상태에서 http://localhost:8080/manager/html로 접근해서 deploy -> WAR file to deploy -> Choose File 버튼을 선택하고 $OPENGROK_DIR/dist/lib/source.war 경로를 찾은 다음 Deploy 버튼을 누른다.

Indexing

분석 할 source code를 $OPENGROK_DIR/src에 받아 둔 후 다음의 커맨드로 indexing을 완료하면 모든 준비가 완료된다.

java \
    -Djava.util.logging.config.file=$OPENGROK_DIR/etc/logging.properties \
    -jar $OPENGROK_DIR/dist/lib/opengrok.jar \
    -c /usr/local/bin/ctags \
    -s $OPENGROK_DIR/src -d $OPENGROK_DIR/data -H -P -S -G \
    -W $OPENGROK_DIR/etc/configuration.xml -U http://localhost:8080/source

Source code가 업데이트 될 때 마다 indexing을 해 주어야 하는데 커맨드가 너무 길어서 복잡하니까 bin directory를 만들고 여기에 index.sh라는 이름으로 shell script를 만들어서 넣어 주었다.

mkdir $OPENGROK_DIR/bin
chmod +x index.sh
$OPENGROK_DIR/bin/index.sh

Access

indexing 까지 다 되었으면 http://localhost:8080/source에 접근하여 source code를 browsing 할 수 있다. Localhost가 아닌 외부에서 접근을 허용 하려면 tomcat의 환경을 변경해 주면 된다. (관련 내용은 인터넷에서 어렵지 않게 찾을 수 있다)

참고: universal-ctags

Ubuntu에서 apt로 설치 할 수 있는 ctags는 Exuberant ctags이지만 OpenGrok은 Universla-ctags를 요구한다. 다음의 방법으로 코드를 컴파일 하고 /usr/local/bin에 설치해서 기존의 /usr/bin/ctags 경로와 충돌하지 않도록 해준다.

git clone git@github.com:universal-ctags/ctags.git
cd ctags
autogen.sh
./configure --prefix=/usr/local
make
sudo make install
/usr/local/bin/ctgas --version

[Tip] PyDev plugin 설치후 동작하지 않을 때

Ubuntu용 Eclipse에 PyDev를 설치하고 program을 재실행 했는데도 *.py 확장자가 인식되지 않고 실행과 디버깅 메뉴에도  Python 항목이 나타나지 않는 것은 PyDev가 3.0 버전 부터는 Java7를 요구하기 때문이었다. (참조 기사)

pydev_py_file_not_recognized

같은 서버에서 Android를 build하고 있어서 Oracle JDK version을 올릴 수는 없기 때문에 옆에서 놀고 있던 Open JDK의 version을 7로 올려서 설정하기로 했다.

Open JDK는 Ubuntu software center에서 설치할 수 있고, eclipse.ini file을 편집해서 사용할 VM을 이것으로 지정해 주면 된다. 

...
-vm
/usr/lib/jvm/java-7-openjdk-amd64/bin/java
...

[Tip] Ubuntu 12.04 Eclipse tooltip 색상변경

Ubuntu(12.04)에서 eclipse를 설치하고 사용하다보면 tooltip이 어두운 배경색에 검은색 글씨로 되어 있어서 잘 안 보인다. 화면 밝기를 밝게하면 불가능 한 건 아니지만, class member를 쉽게 보여주기는 context menu를 실눈 뜨고 한 참 동안 쳐다보는게 여간 불편한게 아니다. 분명 internet 어딘가에는 나와 같은 불편을 겪는 사람이 있을텐데라고 생각하면서도 어떤 keyword로 검색해야 하는지 몰라서 여러 번 실패하고 나서야 드디어 찾았다.

How to change tooltip background color in Unity?

최근에 추가된 몇 개의 solution들은 시험해 보지는 못했으나, 아래의 script는 효과가 있었다.

#/bin/sh
# Tooltip fix
# A script to fix themes files in Ubuntu 11.10
#  to have readable tooltips in applications such
#  as eclipse.
# The script edits the gtk.css, settings.ini and gtkrc files
# Author: Victor Pillac
# http://victorpillac.wordpress.com

#if [ $EUID -ne 0 ]; then
#  echo "This script must be run as root" 1>&2
#  exit 1
#fi  

path=/usr/share/themes
theme=Ambiance

if [ $# = 1 ]; then
  theme=$1
fi

echo "Fixing tooltips for theme $theme"
echo " (you can select a different theme by passing its name as argument)"
sed -i 's/tooltip_bg_color #000000/tooltip_bg_color #f5f5b5/g' $path/$theme/gtk-3.0/gtk.css
sed -i 's/tooltip_fg_color #ffffff/tooltip_fg_color #000000/g' $path/$theme/gtk-3.0/gtk.css
sed -i 's/tooltip_bg_color:#000000/tooltip_bg_color:#f5f5b5/g' $path/$theme/gtk-3.0/settings.ini
sed -i 's/tooltip_fg_color:#ffffff/tooltip_fg_color:#000000/g' $path/$theme/gtk-3.0/settings.ini
sed -i 's/tooltip_bg_color:#000000/tooltip_bg_color:#f5f5b5/g' $path/$theme/gtk-2.0/gtkrc
sed -i 's/tooltip_fg_color:#ffffff/tooltip_fg_color:#000000/g' $path/$theme/gtk-2.0/gtkrc
echo "Done"

Dell XPS 13에 Ubuntu 12.04.2 설치

Dell XPS13 (사양)

– 13 inch screen (1080p resolution)
– Intel i7
– 8GB RAM
– 256GB SDD
– No ODDs
– No ethernet adapters

고가(!)에 구매한 XPS 13이 2주간의 느릿느릿한 과정을 거처 드디어 도착했다. 2007년판 맥북 이후 이녀석을 택한 것은 업무상 linux를 사용한 필요가 있다보니 linux를 설치해서 사용하는데 문제가 없는 노트북을 찾아 다녔기 때문이다. Dell XSP는 ubuntu가 설치된 developer edition을 판매한 적도 있거니와 이 하드웨어에서 ububtu지원하기 위한 Sputunik project도 있어서 ubuntu와 잘 맞지 않을까 하고 추측했다.

원래 설치되어 있었던 Windows를 밀어 버리고 Sputunik이 아닌 공식 ubuntu 12.04.2를 설치해서 사용한지 2주 정도가 조금 넘었는데 특별한 문제 없이 잘 동작하고 있다. 특히 작은 크기에도 불구하고 구겨 넣은 1080p의 높은 해상도가 가장 마음에 든다. 가볍고 작고 잘보이고.. 🙂

ODD가 없어서 USB로 설치해야 하는데 USB를 설치 미디어로 만드는 것은 이 문서를 보고 따라 했지만 막상 꽂고 부팅을 시켜보니 설치 프로그램으로 진입하질 못하는 문제가 있었다.

여러곳을 돌아다닌 끝에 이녀석은 왼쪽에 있는 USB 포트를 써야 booting media로 인식된다는 점과 최근 컴퓨터들에 포함되는 UEFI 관련한 설정을 해주어야 한다는 사실을 알게 되었다.

처음 booting 화면에서 F2 key를 눌러서 나오는 BIOS setting  화면에 Boot menu가 있다. 여기에 Booting List를 Legacy로 표기할 것인지 UEFI로 표시할 것인지를 선택하는 곳이 있는데 UEFI를 선택하면 새로운 menu를 추가할 수 있다.

왼쪽에 USB stick을 연결하고 이 메뉴에 진입해서  다음과 같이 입력한다.

Name: USB Storage Device (또는 아무거나)
Device: /xxxxxx USB (USB stick을 연결할 상태에서 나오는 첫번째 메뉴)
File: /efi/boot/bootx64.efi

그리고 boot sequence를 조절해서 USB Storage를 가장 먼저 읽도록 순서를 변경하고 reboot 하면 grub 화면 같은게 뜨면서 설치 메뉴로 진입할 수 있다.