Create TOC

2017년 9월 21일

userChrome.css 로 탭 모양 변경하기

Firefox의 userChrome.css를 사용해서 탭 모양을 아래와 같이 변경한다.

  • 탭 최소 너비를 32px로 고정. 스크롤 없이 많은 탭을 표시할 수 있음
  • 읽지 않은 탭은 굵은 이탤릭 글자로 표시
  • unload 된 탭은 이탤릭 + 밑줄 표시. 탭 자체도 반투명하게 처리

방법은 아래와 같다.

  1. 주소 표시줄에서 about:support 입력
  2. 프로필 폴더폴더 열기 버튼 클릭
  3. 프로필 폴더가 열리면 chrome 폴더 생성
  4. chrome 폴더 안에 userChrome.css 파일 생성
    @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
    .tabbrowser-tab {
        min-width: 32px !important;
    }
    
    .tab-content {
        overflow:hidden !important;
    }
    
    .tabbrowser-tab:not([pinned]):not([fadein]) {
        visibility: collapse !important;
    }
    
    .tabbrowser-tab[unread]:not([selected="true"]) {
        font-weight: bold !important;
        font-style: italic !important;
    }
    
    .tabbrowser-tab[unread]:not([selected="true"]) .tab-text {
        opacity: 0.75 !important;
    }
    
    .tabbrowser-tab[pending] {
        opacity: 0.6 !important;
        font-style: italic !important;
    }
    
    .tabbrowser-tab[pending] .tab-text{
        text-decoration: underline dashed !important;
    }
  5. Firefox 재시작

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

2017년 3월 26일

Raspbian/RealVNC 를 설정

Raspbian에 RealVNC가 제공된다. 항상 X를 사용하지는 않기 때문에 Virtual Mode를 설정하면 되지만, vncserver-virtuald.service를 제대로 사용하려면 RealVNC 계정을 만들어야 한다.항상 X를 사용한다면 vncserver-x11-serviced.service을 사용하면 된다.

계정을 만들지 않고 Virtual Mode를 사용할 수 있도록 설정한다.

RealVNC 설치

$ sudo apt-get install realvnc-vnc-server

RealVNC 서비스 중지

$ sudo systemctl disable vncserver-x11-serviced.service
$ sudo systemctl disable vncserver-virtuald.service

스크립트 작성

vncserver-virtuald.service를 사용하지 않고 직접 vncserver-virtual 를 사용할 경우 접속한 X 환경에서 logoff 등을 할 경우 VNC 연결이 끊어지면서 vncserver-virtual 도 종료된다.

10초마다 vncserver-virtual 가 동작 중인지 검사해서 실행시키는 스크립트를 작성한다.

스크립트는 /usr/local/bin/loop_vnc.sh로 저장한다.

#!/bin/bash
if [ -x /usr/bin/vncserver-virtual ]; then
 while [[ true ]]; do
  PS_COUNT=`ps aux | grep Xvnc | grep $USER | grep -v grep | wc --lines`
  if [ 0  == $PS_COUNT ]; then
   /usr/bin/vncserver-virtual :0
  fi
  sleep 10s
 done
fi

부팅 설정

/etc/rc.local에 아래 내용을 추가해서 부팅 할 때 스크립트를 자동으로 시작하게 설정한다. 이 때 로그인을 원하는 계정 권한으로 실행해야 하기 때문에 sudo를 사용한다.

if [ -x /usr/local/bin/loop_vnc.sh ]; then
 sudo -H -u pi /usr/local/bin/loop_vnc.sh &
fi