Create TOC

레이블이 OSX인 게시물을 표시합니다. 모든 게시물 표시
레이블이 OSX인 게시물을 표시합니다. 모든 게시물 표시

2019년 6월 30일

mosh 설정

mosh는 ssh 를 개선한 원격 터미널이다. UDP 프로토콜 (60000 ~ 61000) 을 사용하며 입/출력 연결을 따로 하기 때문에 ctrl-c 같은 키에 대한 반응성이 좋다.

최초 연결은 ssh 를 사용하며 연결 후 mosh-server 를 실행시키는 구조이다(따라서 접속했을 때만 해당 계정 권한으로 mosh-server 가 실행된다).

설치

Debian Linux

$ sudo apt install mosh

ufw

ufw를 사용하면 방하벽 규칙에 mosh가 사용하는 포트를 추가해줘야 한다.
$ sudo ufw allow mosh

포트를 전부 열기 부담되면 아래와 같이 적당히 열여주면 된다.

$ sudo ufw allow 60000:60010/udp

OS/X

$ brew install mosh

사용 방법

foo 계정으로 bar.com 에 접속하는 방법은 아래와 같다.

$ mosh foo@bar.com

ssh 설정을 변경하는 경우 아래와 같이 옵션을 주거나 미리 ~/.ssh/config 설정을 하면 된다.

$ mosh --ssh="ssh -p xxxx" foo@bar.com

호환성을 위한 추가 설정

vim 설정

mosh로 접속시 vim화면이 깨져보일 수 있다. 이때 vimrc 에 아래 설정을 추가한다.

set notermguicolors

2017년 3월 30일

OSX/Homebrew 업그레이드

Homebrew 업그레이드는 brew upgrade로 간단히 할 수 있다. 하지만 macvim이나 vim 패키지는 lua가 기본 포함되어 있지 않아서 따로 업그레이드를 해줘야 한다. 이걸 한번에 처리하게 스크립트를 작성했다.

#!/bin/sh

brew update

macvim=`brew outdated | grep macvim | wc -l`
vim=`brew outdated | grep vim | grep -v macvim | wc -l`

if [ $macvim -ne 0 ]; then
 brew upgrade macvim --with-lua
fi

if [ $vim -ne 0 ]; then
 brew upgrade vim --with-lua
fi

others=`brew outdated | wc -l`
if [ $others -ne 0 ]; then
 brew upgrade
fi

brew cleanup

2014년 10월 21일

OSX - 다크 모드 토글

tell application "System Preferences"
    set current pane to pane "com.apple.preference.general"
    activate
end tell

tell application "System Events" to tell process "System Preferences"
    delay 2
    tell window "일반"
        click checkbox 3
    end tell
end tell

tell application "System Preferences"
    quit
end tell

2012년 9월 1일

OS/X - Alfred를 이용해서 Evernote에 바로 글 적기

Alfred에 아래와 같은 applescript를 등록하면 "m 적을 내용" 이런 식으로 바로 Evernote에 메모를 추가할 수 있다.

on alfred_script(q)
  tell me
    do shell script "open /Applications/Evernote.app"
  end tell
  tell application "Evernote"
    set note1 to create note title q with text q notebook "노트를 추가할 노트북 이름"
    open note window with note1
    activate
  end tell
end alfred_script

2012년 4월 5일

OSX - AppleScript를 이용해서 Finder 열기

아래와 같은 스크립트를 이용해서 새 Finder 창을 열 수 있다.

activate application "Finder" --gives Finder focus
tell application "Finder"
	set new_finder to make new Finder window to alias ":"
	set the current view of new_finder to column view
	set the target of new_finder to the home
end tell

2012년 3월 21일

NFC와 NFD 서로 변환하기

OS/X는 NFD복잡한 설명을 생략하고 "한글.txt"가 실제로는 "ㅎㅏㄴㄱㅡㄹ.txt"로 풀어써진다고 보면 된다. 자세한 내용은 유니코드 정규화를 참고한다. 형식으로 파일 이름을 저장한다. 이 파일을 다른 OS로 복사했을 때 해당 OS에서 NF이를 NFC로 바꾸기 위해서는 convmv을 사용하면 된다.

설치

OS/X 에서는 brew을 이용해서 설치하는 것이 편하다.

$ brew install convmv

Debian/Linux 에서는 아래 명령으로 간단하게 설치할 수 있다.

$ sudo apt-get install convmv

사용법

NFD를 NFC로

대상 파일 시스템이 utf-8를 쓴다고 가정하면

$ convmv -f utf-8 -t utf-8 --nfc -notest 파일명

NFC를 NFD로

원본 파일 시스템이 utf-8을 쓴다고 가정하면

$ convmv -f utf-8 -t utf-8 --nfd -notest 파일명

2012년 3월 18일

OS/X - tab 키로 모든 컨트롤 이동하기

OS/X 는 Windows 와 달리 tab 키로 모든 컨트롤을 이동할 수 없다. 그렇지만 설정 - 키보드 - 키보드 단축키 설정을 아래와 같이 변경하면 Windows 처럼 tab 키로 모든 컨트롤을 이동할 수 있다.


2012년 2월 17일

OS/X - Xcode 삭제하기

Xcode 4.3 for Lion과 함께 Command Line Tools for Xcode, Graphics Tools for Xcode, Hardware IO Tools for Xcode, Dashcode for Xcode, Auxiliary Tools for Xcode, Audio Tools for Xcode, Accessibility Tools for Xcode 가 발표되었다.

gcc와 Dashcode 만 사용하면 Xcoee 4.3 for Lion 대신 Command Line Tools for Xcode와 Dashcode for Xcode 만 설치하면 된다.

Command Line Tools 와 Dashcode를 설치하기 전에 더 이상 사용하지 않을 Xcode를 삭제해야 하는데, 삭제하는 방법은 아래와 같다. 원문

$ sudo <Xcode>/Library/uninstall-devtools

<Xcode>는 Xcode 설치 경로이며 기본값으로 설치시 /Developer이다. 그리고 원문에는 --mode=all 옵션을 사용하도록 설명하는데, Xcode 4.2 기준으로 uninstall-devtools의 기본값이 --mode=all이다.

2012년 2월 13일

OS/X - 기본 입력기 전환 키를 Shift-Space로 변경하기.

원문

~/Library/Preferecnes/com.apple.symbolichotkeys.plist파일을 xcode로 열어서 편집한다.

파일을 열고 AppleSymbolicHotkeys>61>value>parapeters>item2를 131072로 변경하고 저장한다.

저장 후 재부팅 (또는 로그 아웃 후 로그인) 하면 변경된 키 설정을 확인할 수 있다.

2012년 1월 3일

OS/X - 부팅이 느려졌을 때

마이그레이션을 한 뒤나 부팅이 느려졌다면 아래와 같이 조치를 해보는 것이 좋다.

Repair permissions

아래와 같은 순서로 권한 복구를 한다.

  1. 디스크 유틸리티를 실행
  2. 부팅 파티션 선택
  3. 디스크 권한 복구버튼 클릭

또는 터미널에서 아래 명령을 통해서 권한 복구를 할 수도 있다

$ diskutil repairPermissions /

Rebuild kernel extension cache

터미널에서 아래 명령을 순서대로 입력한다.원문

$ sudo chown root:admin /
$ sudo kextcache -system-prelinked-kernel
$ sudo kextcache -system-caches

재부팅

위의 모든 작업이 끝나면 재부팅 한다.

2011년 10월 7일

OS/X - CLI 환경에서 이미지 편집

sips는 OS/X에서 제공하는 CLI image processing 도구이다.

자세한 사용법은 man page를 보면 되고, 자주 사용할 만한 내용을 아래 적어둔다.

크기 조절

sips -z 높이 너비 원본파일 [--out 저장할이름]
sips --resampleWidth 너비 원본파일 [--out 저장할이름]
sips --resampleHeight 높이 원본파일 [--out 저장할이름]

--resampleWidth, --resampleHeight를 사용해서 크기를 변경할 때는 배율이 유지된다.

--out 저장할이름을 생략하면 원본파일을 수정한다.

회전

sips -r 각도(시계방향) 원본파일 [--out 저장할이름]

형식 변환

sips -s format 형식 원본파일 --out 저장할이름

형식에는 jpeg, tiff, png, gif, jp2, pict, bmp, qtif, psd, sgi, tga이 들어갈 수 있다. 아래는 간단한 예제이다.

$ sips -s format png image.jpg --out image.png

2011년 9월 28일

OS/X - 네트워크 연결을 통해 .DS_Store 파일 생성을 방지하는 방법

원문 : http://support.apple.com/kb/HT1629?viewlocale=ko_KR

터미널을 열고 아래 명령을 실행한 후, 재부팅하거나 다시 로그인한다.

$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true

2011년 8월 9일

OS/X - iPhone 동기화 때 AddressbookSync가 1GB 이상의 메모리를 사용하면서 종료되지 않을 때

iPhone 동기화 때 AddressbookSync가 1GB 이상의 메모리 (내 시스템에서는 2.3GB)를 사용하면서 동기화가 끝나도 제대로 종료되지 않을 때가 있다.

하나의 주소록에 많은 전화번호가 등록되어 있을 때 발생하는 문제로 보인다. 내 경우 the call 4 iphone 앱을 이용해서 스팸 전화번호를 등록해 두었는데, 등록한 번호를 모두 삭제한 후에 문제가 해결되었다.

2011년 7월 26일

OS/X - "다음으로 열기(Open with)" 메뉴 정리하기

OS/X를 사용하다 보면 삭제된 프로그램이 목록이 Finder의 "다음으로 열기" 메뉴 (영어로는 Open with)에 표시되는 경우가 있다. 이때 아래 명령을 이용해서 정리해주면 된다.

$ /System/Library/Frameworks/CoreServices.framework/Versions/Current/Frameworks/LaunchServices.framework/Versions/Current/Support/lsregister -kill -r -domain local -domain system -domain user

2011년 7월 11일

OS/X - ntfs를 쓰기 가능하게 mount 하기.

Snow leopard부터는 ntfs 파티션을 쓰기 가능하게 mount 할 수 있지만, 기본은 readonly 이어서 NTFS mounter 같은 유틸리티를 사용해야 한다. 그런데 ntfs 파티션을 mount 할 때 mount_ntfs 를 호출하는 것을 이용해서 항상 쓰기 가능하게 mount 하도록 수정할 수 있다.

우선 원래 시스템에 있는 mount_ntfs이름을 변경하고 새로운 mount_ntfs파일을 만든다.

$ sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
$ sudo vi /sbin/mount_ntfs
$ sudo chmod +x /sbin/mount_ntfs

새로 만드는 mount_ntfs파일 내용은 아래와 같다.

#!/bin/sh
/sbin/mount_ntfs.orig -o rw "$@"

2011년 7월 5일

OS/X - mac port로 pypy 설치하기

이 문서는 OS/X에서 mac port를 사용해 pypy를 설치하는 방법에 대해서 기술한다.

python 2.7 설치

pypy를 사용하기 위해서는 python 2.7을 설치해야 한다. mac port를 이용해서 python 2.7을 설치한다port를 이용해서 python 2.7용 PyQt를 설치하려면 sudo port install py27-pyqt4 하면 된다..

$ sudo port install python27
$ sudo port select --set python python27

python 2.7을 위해서 setuptools도 설치해 둔다.

$ sudo port install py27-setuptools

pypy 설치

아래 명령으로 간단하게 pypy를 설치한다.

$ sudo port install pypy

2011년 1월 12일

OS/X - 잠금 화면으로 이동

잠금 화면으로 이동할 수 있는 apple script.

do shell script "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend"

OS/X - 화면보호기 실행하기

화면 보호기를 바로 실행할 수 있는 apple script.

do shell script "/System/Library/Frameworks/ScreenSaver.framework/Versions/Current/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine"

아래처럼 Finder를 통해서 실행할 수도 있지만... :)

tell application "Finder"
	activate
	open application file "ScreenSaverEngine.app" of folder "Resources" of folder "Current" of folder "Versions" of folder "ScreenSaver.framework" of folder "Frameworks" of folder "Library" of folder "System" of startup disk
end tell

2010년 9월 2일

Apple script로 특정 명령 실행하기

VirtualBox에서는 VBoxManage 라는 command 도구를 제공하는데, 특정 가상머신을 바로 실행 시킬 수 있다.

Apple script를 이용해서 내가 원하는 가상 머신을 바로 실행 시키는 코드를 작성해보았다.

tell me
	activate
	do shell script "VBoxManage startvm \"Debian Linux\""
end tell

2010년 6월 18일

Safari/유용한플러그인

확장 프로그램

Safari 5.0 부터 확장 프로그램(Extention)이 기능으로 추가되었다. 개발자용 메뉴에서 확장 프로그램 활성화 기능을 켜주면 사용할 수 있다.

기능을 활성화 시킨 후 환경설정을 보면 확장 프로그램탭이 추가되어 있는 것을 확인할 수 있다.

이름설명
AdBlockAdBlock의 Extension 버전.
Gentle Status BarChrome과 비슷한 상태표시줄을 만들어준다.
ClickToFlashClickToFlash의 Extention 버전.
Better Google Reader구글 리더에 몇 가지 기능을 추가해준다.
greader-bgtabs구글 리더에서 v키로 현재 글을 새 tab으로 열 때 배경 탭으로 열리게 해준다.
SafariRestoreSafari를 종료할 때 열려있던 탭 정보를 기억했다가 복구해준다. 비슷한 기능이 SafariStand에도 들어있지만 Extention 쪽이 좀 더 자연스럽게 동작하는 것 같다.
MiddleButtonScroll마우스 가운데 버튼을 클릭하고 마우스를 이동하면 그대로 스크롤이 된다.

SIMBL

SIMBL의 플러그인 형태로 기능을 확장할 수 있다

이름설명
GreaseKitSafari에서 User Script를 사용할 수 있게 해준다.
Safari StandSafari에서 Quick Search등의 기능을 추가해준다
SafariGesturesSafari에서 마우스 제스쳐를 지원해준다.
megazoomerCocoa Application을 전체 화면으로 실행시켜 준다