윈도우 WSL(Windows Subsystem for Linux)로 개발 환경 만들기


하나의 컴퓨터에 OS 두 개를 놓고 쓰는 건 번거로운 일이다.
한국 정부 사이트를 문제없이 사용하려면 윈도우가 필요하고, 개발 편의성은 리눅스가 더 높다.
정부 사이트를 이용할 때마다 재부팅을 해서 윈도우를 사용하는건 귀찮은 일이다.
WSL(Windows Subsystem for Linux)이 발표되고 한참을 눈여겨보다가 새해를 맞아 사용해보기로 했다.
리눅스 파티션을 갈아엎고, 윈도우에서 WSL을 이용해 개발환경을 구축해봤다.
리눅스에서 Wine으로 돌리는 윈도우 애플리케이션보다 안정적인 느낌이다.
watcher가 제대로 동작하지 않는다는 것(https://github.com/Microsoft/WSL/issues/216)은 아쉽지만, OS 두 개를 관리하는 수고스러움에 비할 바는 아니다.
리눅스를 수년간 사용하면서 패키지를 업데이트할 때마다 컴퓨터가 이상해지지는 않을까 노심초사했고, 다음엔 맥으로 바꿔야 하나 고민했다.
그런데 이번에 WSL을 써보니, 윈도우도 좋은 대안이라는 생각이다.
대한민국 정부 사이트 접속도 원활하고, WSL 개발 환경도 만족스럽다.
십 년 넘게 멀리했던 윈도우와 좀 친해져 봐야겠다.


WSL 설치 및 설정

Turn Windows features on or off에서 Windows Subsystem for Linux 선택 설치

Microsoft Store에서 Linux로 검색해서 마음에 드는 리눅스 찾아 설치 (debian)

wsl 베터리 설정

Settings > Update & Security > Windows Defender > Open Windows Defender Secutiry Central > Protection Against Viruses & Threats > Advanced Config… > Exclusions > Add or Remove > Add > Folder에 리눅스 시스템 루트 추가

Group Policy Management Editor > Computer configuration > Windows components > Windows Defender Antivirus > Real-time protection >

Turn off real-time protection Enabled로 변경

참고 - https://medium.com/@leandrw/speeding-up-wsl-i-o-up-than-5x-fast-saving-a-lot-of-battery-life-cpu-usage-c3537dd03c74


debian 설정

WSL 루트 - C:\Users\dorajistyle\AppData\Local\Packages\TheDebianProject.DebianGNULinux_버전\LocalState\rootfs

유저이름과 비밀번호 설정

데비안 버전 알아보기 - cat /etc/issue

데비안 버전 알아보기 - cat /etc/os-release os version

필요 패키지 설치

sudo apt install build-essential patch git-core curl unzip pkg-config libvips-dev apt-transport-https ca-certificates psmisc ack ncdu python python-pip

yarn 설치

sudo apt purge cmdtest (yarn 설치 위해)

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

echo “deb https://dl.yarnpkg.com/debian/ stable main” | sudo nano /etc/apt/sources.list.d/yarn.list

sudo apt-get update && sudo apt-get install yarn


참고 - https://yarnpkg.com/lang/en/docs/install/#debian-stable

installation Problem: Unexpected token { in cli.js 문제 발생 시 - https://github.com/yarnpkg/yarn/issues/6914

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

apt-get install -y nodejs

postgres 설치 (https://www.postgresql.org/download/linux/debian/)

  • sudo nano /etc/apt/sources.list.d/pgdg.list 에 deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main 추가
  • wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
  • sudo apt-get update

    sudo passwd postgres

    sudo service postgresql start

    sudo -u postgres psql

    ALTER USER postgres PASSWORD ‘my_postgres_password’;


    Peer authentication failed for user “postgres” 오류시
    /etc/postgresql/10/main/pg_hba.conf 파일에서 local all postgres peer 을 local all postgres md5로 바꿔 저장하고 sudo service postgresql restart로 재시작

nvm 설치

https://yoember.com/nodejs/the-best-way-to-install-node-js

zsh 설치

  • sudo apt-get install zsh
    sudo chsh -s `which zsh`
zsh-nvm 설치

https://github.com/lukechilds/zsh-nvm

watchman 설치

sudo apt-get install -y autoconf automake build-essential python-dev libtool m4 pkg-config libssl-dev libcrypto+±dev

git clone https://github.com/facebook/watchman.git

cd watchman

git checkout v4.9.0 # the latest stable release

./autogen.sh

./configure

make

sudo make install

$ echo 999999 | sudo tee -a /proc/sys/fs/inotify/max_user_watches && echo 999999 | sudo tee -a /proc/sys/fs/inotify/max_queued_events && echo 999999 | sudo tee -a /proc/sys/fs/inotify/max_user_instances && watchman shutdown-server


참고 - https://facebook.github.io/watchman/docs/install.html

pip 패키지 설치

sudo pip install awscli awsebcli


윈도우 유틸리티 설치

hyper 터미널 설정

shell: ‘C:\Windows\System32\wsl.exe’, //shell을 wsl로

shellArgs: [], //비운다.

plugins: [

“hyper-dracula”,

“hyper-search” // CTRL + SHIFT + F로 찾는다.

],


vscode 설정

  • Terminal > External: Windows Exec와 Terminal > integrated > Shell:Windows에 C:\WINDOWS\System32\wsl.exe 를 넣는다.
  • Terminal > integrated: Cwd에 wsl 홈 디렉토리 경로를 넣는다.
  • Ctrl + `를 누르면 터미널이 wsl로 잘 뜬다.

vscode extension

  • setting sync
  • annotator
  • auto rename tag
  • babel es6/es7
  • debugger for chrome
  • dracula Official
  • embrace
  • EsLint
  • File Utils
  • Go
  • MDTools
  • Partial Diff
  • Pomodoro Timer
  • Preview
  • Project Manager
  • Trailing Spaces
  • Vetur
  • vscode-icons

기타 윈도우 설정

  • 필요한 프로그램은 단축키 등록하고, 시작 메뉴나 데스크탑에 넣어둬야 단축키가 작동한다.
  • snap 설정을 통해 창을 관리한다.

기타 WSL 참고자료

https://github.com/sirredbeard/Awesome-WSL/blob/master/README.md



by


Tags : , , , , , , ,

  • 재미있게 읽으셨나요?
    방랑자의 이야기.
    월풍도원에선 기부를 받습니다.

아치리눅스 기반 배포판. Antergos 설정.


그동안 아치(arch)리눅스 기반의 manjaro를 쭉 써오다가 Antergos로 갈아탔다.
둘 다 아치리눅스기반이라 쓰던 설정을 그대로 써도 된다.
어쩐 일인지 한글 입력이 잘 되지 않아 입력기를 uim에서 dasom으로 바꾸었다.
하드웨어 사양이 좋아져서 DE도 xfce에서 gnome으로 갈아탔다.

다솜 한글 입력기 설치

yaourt -S dasom-git
yaourt -S dasom-gtk-git
yaourt -S dasom-jeongeum-git
yaourt -S dasom-qt-git

.xprofile 설정

IM="dasom"
export GTK_IM_MODULE=$IM
export XMODIFIERS=@im=$IM
export QT_IM_MODULE=$IM
export QT4_IM_MODULE=$IM
export XIM=$IM
dasom-daemon
dasom-indicator
gsettings set org.gnome.settings-daemon.plugins.keyboard active false
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'dasom'>}"


설정 적용 확인

  1. export | grep IM
    declare -x GTK_IM_MODULE="dasom"
    declare -x QT4_IM_MODULE="dasom"
    declare -x QT_IM_MODULE="dasom"
  2. export | grep XMODIFIERS
    declare -x XMODIFIERS="@im=dasom"

Antergos에 설치한 아치리눅스 패키지 목록

ack : 검색
android-apktool : a tool for reengineering Android apk files
android-sdk : 안드로이드 sdk
android-sdk-build-tools : 안드로이드 sdk 빌드 툴
android-sdk-platform-tools : 안드로이드 sdk 플랫폼 툴
android-udev
avidemux-cli-git : 영상 편집
avidemux-core-git : 영상 편집
avidemux-qt4-git : 영상 편집
aws-cli : aws 커맨드라인 클라이언트
chromium : 웹 브라우저
chromium-pepper-flash : 크로미움 플래시 플러그인
dasom-git : 한글 입력기
dasom-gtk-git : 한글 입력기
dasom-jeongeum-git : 한글 입력기
dasom-qt-git : 한글 입력기
docker : 도커
dosfstools : 도스 파일시스템 유틸
epdfview : pdf 뷰어
evince : 문서 뷰어
evolus-pencil-svn : GUI 프로토타이핑 툴
fdupes : 중복파일 제거
firefox : 웹 브라우저
firefox-raismth : 파이어폭스 실버라이트 플러그인
focuswriter : 글쓰기용 도구
gedit : 에디터
genymotion : aos 시뮬레이터
gimp : 이미지 편집기
git : git
hugo : static page generator
marble : 지구본
mariadb : mariadb
meld : diff툴
mercurial : 버전관리도구
mysql-workbench : mysql 관리툴
nano : 에디터
nautilus-share : nautilus 파일 공유
ncdu : 하드 용량 체크
noto-fonts : noto 폰트
numix-frost-themes : numix 테마
numix-icon-theme : numix 테마
numix-icon-theme-square : numix 테마
openssh : ssh
oxygen-icons : oxygen아이콘
pgadmin3 : postgres 관리 툴
pidcat : logcat보기 쉽게.
playonlinux : wine 사용을 쉽게.
poppler-data : pdf 랜더링 라이브러리용 인코딩 데이터
postgis : postgis
postgresql : postgrel
profile-cleaner : 웹브라우저 프로필 사이즈 줄이기
profile-sync-daemon : 브라우저 프로파일 싱크(속도개선)
qps : 프로세스 메니저
qupzilla : 웹브라우저
redis : 메모리기반 key-value 저장소
redshift : 블루라이트 필터
s3cmd : s3 커맨드
sbt : 스칼라 빌드툴
sed : 문자열 처리
steam : 스팀 게임
sublime-text-nightly : 에디터
terminator : 터미널
tilda : 터미널
tomighty : 뽀모도로 타이머
tribler : 토렌트
ttf-baekmuk : 글꼴
ttf-bitstream-vera : 글꼴
ttf-dejavu : 글꼴
ttf-freefont : 글꼴
ttf-google-fonts : 글꼴
ttf-liberation : 글꼴
ttf-nanum : 글꼴
unetbootin : 부팅usb 제작용
unity-editor : 유니티 에디터
unrar : 압축해제
unzip : 압축해제
vi : vi에디터
viewnior : 이미지 뷰어
vim-colorsupport : 빔 색상지원
vips : 이미지 처리 라이브러리
virtualbox-guest-dkms
virtualbox-guest-modules
virtualbox-host-dkms
virtualbox-host-modules
visual-studio-code : 코드 에디터
vlc : 비디오 재생
wine : 와인(윈도우즈용 프로그램 실행)
wine-mono
wine_gecko
winetricks
xnviewmp : 이미지 편집기 및 뷰어

문제 해결

Pacman 오류 (invalid or corrupted package (PGP signature))

archlinux-keyring 패키지를 업데이트 한다.

Antergos



by


Tags : , , , , , , ,

  • 재미있게 읽으셨나요?
    방랑자의 이야기.
    월풍도원에선 기부를 받습니다.

alt+tab 누르기 피곤할 때. X11에서 xdotool을 이용한 빠른 창 전환.

창을 여러 개 띄워놓은 상태에서 원하는 창을 alt+tab으로 찾아가기란 여간 불편한 일이 아니다.
셸 두 개, 브라우저 두 개, 노트 하나, 폴더 탐색기, 에디터 하나.... 이런 식으로 창을 많이 띄울 수록 더 귀찮다.
그중에 가장 귀찮은 일은 듀얼모니터를 사용하며 브라우저를를 모니터 마다 하나씩 띄워놓고, 하나는 개발용. 하나는 검색용으로 쓸 때다.
코딩하다가 빠르게 검색용 브라우저를 키고 싶은데 alt+tab을 열심히 눌러 찾아간 브라우저가 개발용이라면? 다시 여러 번 alt+tab을 눌러야 한다.
귀찮다.
에디터와 검색용 브라우저 둘 사이만 은밀하게 오가는 단축키가 있으면 좋겠다.
그래서 만나게 된 xdotool(http://www.semicomplete.com/projects/xdotool/).
창을 열고 키 입력까지 자동으로 날릴 수도 있을 정도로 X11윈도우를 주무르는 자동화 도구다.
xdotool은 다양한 리눅스 배포판을 지원하고 맥에서도 맥포트(http://www.macports.org/)로 설치된다.
자 그럼 xdotool을 이용한 창 전환 방법을 알아보자.

빠른 창 전환 단축키 등록 순서.

  1. 셸 스크립트를 원하는 곳에 넣어 둔다.
  2. 스크립트 파일에 실행권한(755)을 준다.
  3. 단축키 등록란으로 가서 셸 스크립트를 넣고 원하는 단축키를 넣는다.
    (예: 에디터/웹 브라우저 창 전환은 super+1, 개발자 도구 창 보여주기는 super+2)

창 전환용 셸 스크립트


창 전환 셸 스크립트 소스 링크

#!/bin/bash
# X11 quick window activation between web browser and editor.
# This script requires (http://www.semicomplete.com/projects/xdotool/)
# Toggling between web browser and editor, just put 'toggle_window.sh' into your keyboard shortcut.
# When you want to show up Development tool window, put 'toggle_window.sh devtool' into your keyboard shortcut.
# Improvements are welcome
# Public Domain, JoongSeob Vito Kim, 2015

activate_name=$(xdotool getactivewindow)
browser_name=""
# This example use 'atom' editor but you can use any kind of editor(vim,emacs,sublimetext...), IDE(Eclipse,Jetbrain...) or others.
editor_name=$(xdotool search --name 'atom' | tail -1)
editor_name_length=${#editor_name}
if (( $editor_name_length == 0 )); then
editor_name=$(xdotool search --name 'focuswriter' | tail -1)
fi
# This example use 'chrome' browser but you can use any kind of browser.
dev_tool_name=$(xdotool search --name 'Developer Tools' | tail -1)
browser_names=$(xdotool search --name 'chrome')
if [[ $1 == "devtool" ]]
then
xdotool windowactivate $dev_tool_name
else
while read line; do
# Please check your browser window's geometry and replace 1920x1080 to yours.
browser_name_temp=$(xdotool getwindowgeometry $line | grep 1920x1080)
length=${#browser_name_temp}
if (( $length > 0 )); then
browser_name=$line
fi
done <<<"$browser_names" echo "browser name = $browser_name" if test "$activate_name" == "$browser_name"; then echo $editor_name xdotool windowactivate $editor_name else echo $browser_name xdotool windowactivate $browser_name fi fi

이 스크립트는 2가지 기능을 한다.
첫째 웹 브라우저와 에디터 사이를 빠르게 오가며 보여주는 역할이고 둘째, 크롬 개발자 도구를 보여주는 역할이다.
이 스크립트를 자신의 환경에 맞게 쓰려면 크게 4부분을 고치면 되겠다.

  1. editor_name에 atom이라고 쓰인 부분을 주로 쓰는 에디터로 바꾼다.
  2. editor_name에 focuswriter라고 쓰인 부분을 보조 에디터로 바꾼다.
  3. browser_names에서 chrome으로 쓰인 부분을 주로 쓰는 웹 브라우저로 바꾼다.
  4. browser_name_temp에서 1920x1080부분을 자신의 브라우저에 맞게 변경한다.
    (xdotool getwindowgeometry <window-id> 를 쓰면 자신의 브라우저 창 설정이 보인다.)

이 스크립트는 alt+tab을 누를 횟수를 많이 줄여준다.:D



by


Tags : , , , , , ,

  • 재미있게 읽으셨나요?
    방랑자의 이야기.
    월풍도원에선 기부를 받습니다.

리눅스 환경에 발을 담그다. Arch 리눅스.

오래도록 MS 윈도우를 사용했습니다.
개발자로서 조금은 리눅스를 만질 일이 있었지만,
그야말로 수박 겉핥기였지요.
리눅스를 좀 잘 다뤄보고 싶었습니다.
하지만 공부를 해 볼까 버츄얼 머신에 리눅스를 깔아도, 사용 안 하게 되더라고요.
6년 전엔 큰마음 먹고 노트북에 윈도우 대신 Gentoo를 설치해 보았습니다.
데이터 백업도 안 하고 설치를 하다가 파티션을 잘못 건드려서 모든 자료가 다 날갔었지요.
게다가 일주일 동안 씨름을 했는데도, 그래픽인지 사운든지 드라이버를 하나 못 잡아서 결국 포기했던 기억이 납니다.

이번에 리눅스를 주 OS로 사용하기로 마음먹었을 때 Gentoo의 악몽이 되살아났어요.
설치와 유지 보수가 간편한 리눅스를 사용하기로 마음먹었죠.
설정이 복잡하거나 너무 마이너한 배포판은 설치하지 않기로 했습니다.

디스트로 와치(http://distrowatch.com/dwres.php?resource=popularity)를 참고하여 제게 맞는 배포판을 탐색했어요.

Mint가 가장 인기가 좋았지만 별로 내키지 않았고, Arch 가 눈에 들어왔습니다.
새로운 버전이 나왔을 때 통째로 갈아엎을 필요가 없이,
Pacman을 이용해 업데이트가 유연하게 된다는 점이 특히 마음에 들었지요.
그런데 설정에 너무 많은 시간을 쏟기는 싫었습니다.
그러다 발견한 게 만자로(Manjaro)에요.
사용자 편의에 초점을 맞춘 Arch 기반의 리눅스 배포판입니다.
Cinnamon 데스크을 넣은 Cinnarch도 괜찮아 보였지만, 만자로에 더 끌렸어요.
만자로(Manjaro)를 설치하고 두 달가량 사용을 하고 있는데 아주 만족스럽습니다.
물론 윈도우를 쓰다가 넘어왔으니 불편한 점이 많아요.
윈도우에서 주로 쓰던 소프트웨어와 대응되는 애플리케이션도 찾아야 했고,
각종 설정을 하는데도 많은 시간이 들었지요.
적응 기간 윈도우를 사용할 때보다 불편했지만, 지금은 딱히 그렇지도 않습니다.
앞으로도 리눅스를 쭉 쓰려고 해요.
나중에 좀 익숙해지면 개발에도 참여해 보고 싶습니다.

U43F with 리눅스 시스템 -'Arch linux(Manjaro)'

만자로(manjaro)리눅스를 쓰며 메모한 것들을 정리해 보았습니다.

USB 부팅 디스크 만들기

pendrivelinux.com

manjaro 설치

http://wiki.manjaro.org/index.php/Burn_an_ISO_File
http://wiki.manjaro.org/index.php/Installation_to_SSD_(quick_guide)
GRUB에서 e누른후 linux 라인에 cryptdevice를 추가해준다.
http://wiki.debian.org/SSDoptimization
https://wiki.archlinux.org/index.php/Solid_State_Drives
https://wiki.archlinux.org/index.php/Using_DM-Crypt#GRUB2
http://wiki.manjaro.org/index.php/Installation_Guide_for_Experienced_Users_0.8.2
LVM(Logical Volume Manager) 설정
https://wiki.archlinux.org/index.php/LVM

설정

커널 업데이트
http://wiki.manjaro.org/index.php/Manjaro_Kernels
커널 목록 보기
mhwd-kernel -li
커널 업데이트 하며 오래된 커널 지우기
sudo mhwd-kernel -i linux310 rmc

미러 자동 추가
pacman -S reflector
https://wiki.archlinux.org/index.php/Reflector
reflector --verbose -l 5 --sort rate --save /etc/pacman.d/mirrorlist

grub
yaourt -S grub-customizer

로케일
http://manjaro.org/2012/08/22/change-to-your-personal-locales/

커널 버젼 보기
cat /proc/version
pacman -S base-devel 로 devel 도구 설치
pacman -Syu base-devel linux-headers
pacman -Syu base-devel linux37-headers

서비스 설정
https://wiki.archlinux.org/index.php/Systemd#Basic_systemctl_usage

그래픽 카드
https://wiki.archlinux.org/index.php/Bumblebee
https://github.com/Bumblebee-Project/Bumblebee/wiki/Troubleshooting
/etc/bumblebee/xorg.conf.nvidia
한영키 먹게 하려면
Section "ServerLayout"
Identifier "Layout0"
Option "AutoAddDevices" "true"
EndSection

듀얼 모니터
https://wiki.archlinux.org/index.php/Xorg#Multiple_monitors.2FDual_screen
https://wiki.archlinux.org/index.php/DualScreen
xrandr --output LVDS1 --mode 1366x768 --output HDMI1 --mode 1920x1080 --right-of LVDS1

사운드
pacman -S lib32-alsa-lib
pacman -S lib32-libxml2

유선 인터넷
ifconfig로 인터넷 연결 확인
http://www.linuxfoundation.org/collaborate/workgroups/networking/alx에서 alx 드라이버 받음.(compat)

./scripts/driver-select alx
make
sudo make install
modprobe alx

혹은
sudo yaourt -S dkms-alx

무선 인터넷 관리자 Wicd로 변경
https://wiki.archlinux.org/index.php/Wicd

Before installing WICD I run these commands.
sudo systemctl stop netcfg
sudo systemctl stop dhcpcd
sudo systemctl stop NetworkManager
sudo systemctl stop netctl
sudo systemctl disable dhcpcd.service

After install
systemctl start wicd
systemctl enable wicd.service
gpasswd -a USERNAME users

sudo systemctl disable NetworkManager

rm /var/lib/NetworkManager/NetworkManager.state

블루투스 헤드셋 설치
https://wiki.archlinux.org/index.php/Bluetooth#Headset_and_Alsa_Devices
https://wiki.archlinux.org/index.php/Bluetooth_Headset
sudo hciconfig hci0 voice 0x0060
sudo pacman -S PulseAudio

블루투스 키보드
blueman에서 설정.
키보드에서 블루투스 신호를 보내고 잡아야 한다.

키맵이 이상하게 나오면 블루투스 키보드 연결을 해제하고,
노트북 키보드로 키맵 설정을 고정시킨다.
xmodmap -pke > ~/.Xmodmap
xmodmap ~/.Xmodmap


시작할 때 적용하려면?
~/.xprofile
~/.xinitrc
if [ -s ~/.Xmodmap ]; then
xmodmap ~/.Xmodmap
fi


https://wiki.archlinux.org/index.php/Xmodmap

exfat 마운트
pacman -S fuse-exfat exfat-utils

메모리카드 리더
1. Follow this link to know the exact model of your card reader. mine was RealTek smth smth.
and the output before the solution was like this:
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5229 PCI Express Card Reader (rev 01)
2. Download the suitable driver from this site:
http://www.realtek.com/Downloads/downloadsView.aspx?Langid=1&PNid=15&PFid=25&Level=4&Conn=3&DownTypeID=3&GetDown=false
3. Extract the zipped archive, then again extract the tar archive, then cd into the final directory, open the reademe file and follow the instructions.
4. After reboot, it simply worked :)
5. Note that I didn't notice a change in the output after the solution.
!not work sudo yaourt -S rts5229
원문(http://askubuntu.com/questions/20100/how-can-i-find-out-what-kind-of-card-reader-i-have)

xfce 설정
xfce4-settings-manager
윈도우 메니져에서 윈도우 관련 키 설정 가능하다.

저장된 세션 지우기
~/.cache/sessions/xfce4 를 삭제한다.

Chromium에서 Keyring을 자꾸 물어볼 때
https://wiki.archlinux.org/index.php/GNOME_Keyring

업데이트시 문제 해결

Unable to lock database가 날 때
sudo rm /var/lib/pacman/db.lck
http://wiki.manjaro.org/index.php/Pacman_troubleshooting

kalu나 package-query가 더 낮은 버전이 필요하다고 업데이트가 안 될때.
pacman -Syu
Do you want to cancel the current operation
:: and upgrade these packages now?
에 No라고 대답한다.

시스템 업그레이드시 package-query와 pacman이 충돌할 때
sudo pacman -R yaourt
sudo pacman -R package-query
then sudo pacman -Syyu
mv /etc/pacman.conf /etc/pacman.conf.backup # just in case
mv /etc/pacman.conf.pacnew /etc/pacman.conf

실행 파일 만들기 (batch)
#!/bin/sh
command
...
chmod +x

시작시 자동실행
gedit /etc/rc.local로 파일을 열어서 스크립트를 추가해 준다.

소프트웨어 설치

팩맨(Pacman)

설치
pacman -S 패키지 ( packer -S 패키지)

삭제
pacman -R 패키지

커맨드가 익숙치 않은 사용자를 위한 gui툴 소개
gtkpacman (AUR)

팩맨 미러
/etc/pacman.d/mirrorlis 파일을 수정

설치 가능한 패키지 목록 보기
$ pacman -Ss ^ibus-*

최적화 (안쓰는 패키지 삭제)
sudo pacman -Rns $(pacman -Qqtd)
Clean cache
pacman -Sc
pacman -Qdt

Yaourt (Yet AnOther User Repository Tool)

pacman -S yaourt

AUR과 동기화
yaourt -Syy

AUR 패키지 검색
yaourt package-name

설치
yaourt -S package-name
대부분의 Pacman 명령어와 Yaourt 명령어가 비슷합니다.

한글 키 입력 (ibus-hangul,fcitx 설치해봐도 잘 안되어 uim 설치.)
https://wiki.archlinux.org/index.php/Input_Japanese_using_uim
https://wiki.archlinux.org/index.php/Extra_Keyboard_Keys
https://wiki.archlinux.org/index.php/Extra_Keyboard_Keys_in_Xorg

pacman -S uim
Default input method 에 벼루만 빼고 다 버린다.
Byeoru key bindings 1
[Byeoru] on과 [Byeoru] off에 Hangul(한/영) 키 추가.
한자키에 한자키 추가.

uim 실행
uim-xim& //입력창을 보지 않는경우
uim-toolbar-gtk & //입력창을 따로 표시하는 경우
https://code.google.com/p/uim/wiki/UimSystemConfiguration
http://x86osx.com/bbs/view.php?id=knowhow&no=525&ksn=0&kss=0&ksc=0&kst=1&ksm=0&kw=:X11:

/etc/rc.conf
LOCALE="ko_KR.UTF-8"

~/.xprofile
IM="uim"
export GTK_IM_MODULE=$IM
export XMODIFIERS="@im=$IM
export QT_IM_MODULE=$IM
export XIM=$IM

http://wiki.kldp.org/wiki.php/%C7%D1%BF%B5%C5%B0 를 참조하였으나 아무런 도움이 되지 않았습니다.

아치 리눅스 글꼴
https://aur.archlinux.org/packages.php?ID=17314
https://aur.archlinux.org/packages.php?ID=49832

한글 폰트
yaourt ttf-nanumgothic_coding

http://manjaro.org/2012/08/22/change-to-your-personal-locales/

유용한 소프트웨어

글쓰기
Focus Writer
yaourt -S focuswriter

PKGBUILD
qt4 -> gambas3-gb-qt4
qmake-qt4 -> qmake
https://aur.archlinux.org/packages/focuswriter/
http://gottcode.org/focuswriter/
https://github.com/gottcode/focuswriter

linux Autohotkey
제대로 작동 안함 http://www.ironahk.net/
yaourt -S autokey

와인(Wine - Run Windows apps)
http://appdb.winehq.org/
http://www.howtogeek.com/107462/easily-install-windows-games-software-on-linux-with-playonlinux/
http://www.playonlinux.com/en/download.html
https://wiki.archlinux.org/index.php/Wine

pacman -S wine
pacman -S wine_gecko
pacman -s winetricks
http://wiki.winehq.org/Mono

/usr/share/wine/mono
설정
wine control
재부팅
wineboot -r
한글폰트
winecfg
sudo cp * ~/.wine/drive_c/windows/Fonts/
한글 설정
~/etc/wine.inf
~/.wine/system.reg
"MS Shell Dlg"="Gulim"
"MS Shell Dlg 2"="Gulim"

실행 전
export LANG=ko_KR.UTF-8
또는
export LC_ALL=ko_KR.UTF-8

regedit
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"UseXIM"="N"

http://nemonein.egloos.com/4682100
http://kldp.org/node/93502
http://kldp.net/projects/saenaru/wiki/%EC%84%A4%EC%B9%98%EB%AF%B8%EB%A6%AC%EB%B3%B4%EA%B8%B0
http://mingiber.blogspot.kr/2008/12/crossover.html
http://www.dlldump.com/download-dll-files_new.php/dllfiles/K/kbdkor.dll/5.1.2600.0/download.html
kbdkor.dll을 system32에 win.
HKEY_CURRENT_USER\Keyboard Layout\Preload
Locale = 00000412
프로그램 제거
wine uninstaller

리눅스에서 와우(World Of Warcraft) 하기
런쳐에서 32비트 클라이언트로 실행.
p2p 전송 끔.
https://wiki.archlinux.org/index.php/World_of_Warcraft#Using_OpenGL

black textures
S3TC texture compression support. It can be enabled through driconf or by installing libtxc_dxtn.
wine reg add "HKCU\Software\Wine\Direct3D" /v AlwaysOffscreen /d enabled
VideoMemorySize 1024

primusrun opengl모드에선 안되지만 d3d9에선 실행 됨.
__GL_THREADED_OPTIMIZATIONS=1 WINEDEBUG=-all wine wow-64
https://help.ubuntu.com/community/WorldofWarcraft

optirun bash
#!/bin/sh
__GL_THREADED_OPTIMIZATIONS=1 optirun wine /home/dorajistyle/data/games/World\ of\ Warcraft/World\ of\ Warcraft\ Launcher.exe -opengl

리눅스에서 인터넷 뱅킹
Virtual box
http://www.microsoft.com/en-us/download/details.aspx?id=11575
혹은
curl과 unrar 설치후에
curl -s https://raw.github.com/xdissent/ievms/master/ievms.sh | IEVMS_VERSIONS="9" bash
/home/userid/.ievms/vhd'에 저장됨.
http://deviantcj.tistory.com/336

Setting -> Storage -> IDE -> vhd 파일 추가.
Setting -> Storage -> SCSI 삭제.

처음 암호는 Password1
인증 cmd -> slmgr –rearm

리눅스 - x3f
yaourt -S xnviewmp - 속도도 만족, ui도 만족.

Permanent rotation
Also, you can rotate permanently the images based on the EXIF information. This will ensure that the images are oriented properly when viewing in any graphic programs. To do this, you select all your images and select "Tools > JPG Lossless tranformations" (or dropdownlist of symbol 'JPG lossless transformations' in toolbar). In the dialog check the button with "EXIF" on it and then press "Go". XnView will permanently rotate the images based on the EXIF orientation flag.

http://www.xnview.com/en/index.html
http://www.digikam.org/ - 돌아는 가지만 속도가 엄청 느리다.
http://www.proxel.se/x3f.html 속도 빠르고 기본 x3f 추출 기능에 충실하다.
http://www.faststone.org/FSViewerDownload.htm - wine으로 돌리는게 가능하지만 속도가 느리다.

http://www.irfanview.com/ - 지원한다고 써있지만 오류가 난다.

http://www.irfanview.com/plugins.htm

리눅스 - 포토스케이프
wine에서 gdiplus를 native library에 추가 정상 작동.
http://www.oaultimate.com/computers/install-photoscape-3-6-on-ubuntu-11-10.html
일괄변환에서 파일 읽기가 제대로 안될땐 winecfg applications에서 호환성을 윈도우 2003이나 xp로 바꾸니 된다.

Lingoes 대체. Stardict.
http://www.stardict.org/
http://artha.sourceforge.net/neki/index.php/Installation
pacman -S stardict

jpeg 최적화
yaourt -S jpegoptim
jpegoptim --dest=output_folder input_jpegs

mp3 플레이어
sudo pacman -S deadbeef

메신저
pidgin
gtalk
google-talkplugin
pidgin-gtalksharedstatus

토렌트
pacman -S transmission-qt

스크린 캡쳐
yaourt -S shutter

듀얼 모니터 설정
xrandr --output VGA1 --auto --output LVDS1 --auto --right-of VGA1
pacman -S arandr

화면 잠금
yaourt -S slimlock
image : /usr/share/slim/themes/default

날씨
pacman -S xfce4-weather-plugin

지구본,지도
pacman -S kdeedu-marble

시스템 정보.
pacman -S conky
https://wiki.archlinux.org/index.php/Conky
https://aur.archlinux.org/packages/i-nex-bzr
https://wiki.archlinux.org/index.php/Lm_sensors

Temp file clean
yaourt -S bleachbit-svn

용량 큰 파일 검색- Disk usage analyzer with an ncurses interface
sudo pacman -S ncdu

중복파일 검색 / 삭제
sudo pacman -S fdupes
하위 폴더 포함해서 중복파일 검색
fdupes -r /dir

중복 파일 중 첫번째 파일은 제외.
fdupes -f /dir

결과에서 중복 파일 제거
fdupes -d /dir

하위 폴더 포함해서 중복파일을 검사해서 첫번째 파일 빼고 모두 지운다.
fdupes -rdN /dir


빠르고 편리한 파일 검색 ack
http://beyondgrep.com/documentation/
sudo pacman -S ack
검색을 원하는 디렉토리에서 다음과 같이 사용한다.
ack "검색할 문장"


파일 비교(Meld) - Diff 툴
sudo pacman -S meld


동영상 인코딩(handbrake)
sudo pacman -S handbrake


자막 편집(aegisub)
sudo pacman -S aegisub


자막 다운로드(subdownloader)
sudo pacman -S subdownloader


smi srt 변환
승네군님의 smi 2 srt script on archlinux v3.1(http://handmade.egloos.com/5756133)
사용하려면 subs가 필요하다.
yaourt -S perl-subtitles



개발
ssh
pacman -S openssh
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub

ruby
pacman -S ruby
mongodb
pacman -S mongodb
bundle
bundle install --deployment
vendor/bundle
젬 환경 보기
gem env
번들 패스 설정
export PATH=$PATH:~/.gem/ruby/1.9.1/bin

libv8 (3.11.8.13 x86_64-linux, 3.3.10.4 x86_64-linux)
therubyracer (0.10.2)
Gemfile
if HOST_OS =~ /linux/i
gem 'therubyracer', '~> 0.10.2'
end

redis 암호 설정
/etc/redis.conf 에서 주석(#)을 제거한다.
# requirepass foobared

mongodb start
mongod --dbpath ~/work/dev/db


Ruby Gem 바이너리 경로 .bashrc에 추가.
export PATH="${PATH}:/home/dorajistyle/.gem/ruby/2.0.0/bin"


문제 해결

libpng cannot open shared object file: No such file or directory
ldd /usr/bin/gtk-update-icon-cache | grep png
LC_ALL=C sudo pacman -Syu


부팅 속도 개선
http://forum.manjaro.org/index.php?topic=6610.0
부팅 속도를 느리게 하는 원인 분석
systemd-analyze plot > plot.svg
systemd-analyze blame

readahead 활성화로 성능 개선
sudo systemctl enable systemd-readahead-collect systemd-readahead-replay

There was an error loading the theme
http://forum.manjaro.org/index.php?topic=8943.0
pacman -S mdm-themes-extra
Customize Desktop Environment for xRDP Session
http://sigkillit.com/tag/xfce/
sudo echo “startxfce4″ > ~/.Xclients
sudo chmod +x ~/.Xclients
sudo systemctl restart xrdp.service


HowTo: LVM encrypted install on SSD disk with cli installer
http://forum.manjaro.org/index.php?topic=1145.15
boot your system now, but when the grub screen comes up
do not press "enter", do not wait 5 seconds, but press "e". just read the text at the bottom of the screenshot: " ’e’ to edit the commands", that's what we need to do now.
search for the line beginning with "linux". this line will end with "ro". now insert "cryptdevice=/dev/sda3:cryptVG" before that "ro".
by pressing F10 grub will now load the kernel with our "modified" command.



by


Tags : , , , , , , , , ,

  • 재미있게 읽으셨나요?
    방랑자의 이야기.
    월풍도원에선 기부를 받습니다.

리눅스에서 OS 브랜드와 버전 정보를 보려면 어떻게 해야 할까요?

리눅스 OS 정보 보기

리눅스 터미널-'리눅스 OS 브랜드 버전 정보 보기'

자기 컴퓨터에 설치한 리눅스가 아니고, GUI 환경도 아닌 낯선 터미널을 만났을 때.
까만 건 화면이요.
하얀 건 글씨입니다.
'도대체 이 OS의 정체가 뭘까?'
우선 뭔지 알아야 안면을 트고 친해질 수 있죠.

uname -a

를 입력하면 기본적인 정보를 줍니다.
'나는 인텔 칩셋용 64비트 리눅스다!'
라고요.
하지만 리눅스의 브랜드와 버젼정보는 알 수 없어요.

cat /etc/*version
혹은
cat /etc/*release

를 터미널에 입력해 봅니다.
레드햇, 데비안, 수세, 슬렉웨어, 젠투 등은 이 방법으로 리눅스 브랜드와 버전을 알 수 있어요.
/etc/gentoo-release /etc/debian_version처럼 말이죠.
이 방법으로도 정보를 알아낼 수 없다?

cat /etc/issue*
명령을 날립니다.

/etc/issue 나 /etc/isssue.net 에 리눅스 브랜드와 버전이 적혀 있기도 하거든요.
저는 이 파일에서 서버의 정보를 알아냈어요.
만약 아직도 리눅스가 정체불명이다?!

그렇다면.
/var/log/var/adm 폴더의 로그를 살펴보세요.
부트메시지엔 보통 버전이 들어가 있으니까요.
mail을 처음 설치하면 환영 메일을 보내주는 OS도 있으니, /root/mbox에서 우연히 정보를 만날지도 몰라요.
이상, 모르는 리눅스를 만났을 때 이름 물어보는 법이었습니다..:D
by 月風



by


Tags : , , , ,

  • 재미있게 읽으셨나요?
    방랑자의 이야기.
    월풍도원에선 기부를 받습니다.

리눅스에서 ssh 서버 설정하기 (linux - ssh server configuration)










/etc/ssh/sshd_config



PermitRootLogin - Root 로그인 권한

ClientAliveInterval - sshd 접속 유지

Port 22 - 사용 포트 변경

AllowGroups/DenyGroups - ssh 로그인 할 수 있는/없는 그룹 , wildcard(*,?) 사용가능

AllowUsers/DenyUsers - 로그인 할 수 있는/없는 사용자



설정 변경을 완료하면 데몬을 한번 재시동 해주자!

/etc/init.d/sshd restart



by


Tags : , , , , , , , ,

  • 재미있게 읽으셨나요?
    방랑자의 이야기.
    월풍도원에선 기부를 받습니다.