한참 머리 굴리다가 만들었다. ㅋㅋ


windows에 ssh 서버를 설치해야 하고, (cygwin으로 하면 편한듯)

각 ssh서버들에 id_rsa.pub을 .ssh/authorized_key로 복사해 넣어야 하는 단점이 있긴 하지만...

#!/bin/bash
if [[ -z $1 ]]; then
        RUN_IN_SEC=30
else
        RUN_IN_SEC=$1
fi
PC_ADDR=( "root@172.20.31.27,linux" "ikko@172.20.31.26,windows" "root@localhost,linux" )

# Remote PC
function Run_Remote_Suspend()
{
        local variables=( `echo $@ | tr "," " "` )
        local id_address=${variables[0]}
        local pc_type=${variables[1]}

        if [[ $id_address == "root@localhost" ]]; then
                #let localhost enter suspend mode last
                sleep 10
        fi
        sleep $RUN_IN_SEC

        case $pc_type in
        [lL][iI][nN][uU][xX])
                ssh $id_address "pm-suspend"
                ;;
        [wW][iI][nN][dD][oO][wW][sS])
                # This command disables hibernation feature in windows.
                # Windows requres to install ssh server (tested with cygwin sshd)
                ssh $id_address "powercfg -hibernate off && rundll32 powrprof.dll,SetSuspendState 0,1,0"
                ;;
        esac
}

function Ask_Cancel()
{
        /usr/bin/xmessage -display 127.0.0.1:0.0 -nearmouse -buttons "Cancel:1" "System will enter sleep mode in $RUN_IN_SEC sec"
        # Yes=true, No=False=1
        if [[ $? -eq 1 ]]; then
                kill ${remote_pid[*]} > /dev/null
                notify-send -t 2 -i "system" "Canceled entering Sleep Mode" "Entering sleepmode canceled by user"
        fi
}

notify-send -t 2 -i "system" "Entering Sleep Mode" "System will enter sleep mode in $RUN_IN_SEC seconds."
for each_pc in ${PC_ADDR[*]};
do
        Run_Remote_Suspend $each_pc &
        remote_pid=( ${remote_pid[*]} $! )
done

Ask_Cancel&
let xmessage_sleep=$RUN_IN_SEC-1
sleep $xmessage_sleep && killall xmessage


/etc/pm/sleep.d/ 에서 스크립트를 만들면 아래의 경우 자동으로 해당 스크립트를 실행해준다.


hibernate

resume

thaw

suspend


예제)

#!/bin/bash

PATH=/sbin:/usr/sbin:/bin:/usr/bin
WAKEONLAN=/usr/bin/wakeonlan

if [ ! -x $WAKEONLAN ]; then
    exit 0
fi


case "${1}" in
        resume)
        wakeonlan 00:23:11:22:33:44
        wakeonlan 00:24:11:22:33:44
        ;;
    suspend|hibernate|thaw)
        # nothing
                ;;
esac


https://zignd.wordpress.com/2012/07/11/an-a-z-index-of-the-bash-command-line-for-linux/





#!/bin/bash

# IPLIST Array로 선언
declare -a IPLIST
# 굳이 선언하지 않아도 되지만 Global이므로 가독성을 위해 선언.
NUMBER=0
# hostname을 $HOSTNAME 변수에 저장
HOSTNAME=`hostname`

# 불필요한 local network의 IP는 출력하지 않도록 grep -v 옵션 추가하고 해당 출력된 리스트를 IPLIST 어레이에 저장.
IPLIST=( `ifconfig | grep "inet addr" | sed 's/:/ /' | awk '{ print $3 }' | grep -v "127.0.0.1"` )

function ChooseNumber() {
#함수 내부에서만 사용하기에 local 선언
    local i=1
    clear
    echo -e "\n\n\t==== IP List ====\n"

# ${IPLIST[@]} 는 어레이의 모든 내용 출력   
    for IPADDR in ${IPLIST[@]}; do
        echo -e "\t$i - $IPADDR\n"
        let i+=1
    done
    echo -e "\t=================\n"
    read -p " Choose Number: " NUMBER
}


until [ $NUMBER -ge 1 ] && [ $NUMBER -le ${#IPLIST[@]} ]; do
    ChooseNumber
done

# ARRAY는 0부터 시작하므로 사용자가 1을 입력할 경우 0이 되도록 -1 합니다.
echo "${IPLIST[$NUMBER-1]} $HOSTNAME"

다 만들어놓고 보니, 가독성은 좀 떨어지는듯;;
하지만 파일은 안만드는 장점이 있습니다.. ㅎㅎ

When logging in, ssh daemon checks reverse DNS lookup.
so only thing you have to do is, write one line in sshd_config of server.

/etc/ssh/sshd_config:
UseDNS no

restart ssh daemon, and that's it.
아직 우분투 10.10, 10.04에는 firefox 3.x가 설치되어있다.
이미 firefox4.0 정식 출시된 상황.

업그레이드 하고자하면, 세번의 스탭만 밟으면 된다.

sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo apt-get update
sudo apt-get install firefox
$vi ~/.config/user-dirs.dirs의 내용을 아래와 같이 변경

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.

XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"

저장 후 아래 명령 실행
mv ~/바탕화면 ~/Desktop
mv ~/다운로드 ~/Downloads
mv ~/템플릿 ~/Templates
mv ~/공개 ~/Public
mv ~/문서 ~/Documents
mv ~/음악 ~/Music
mv ~/사진 ~/Pictures
mv ~/비디오 ~/Videos

리붓하면 끝~!
오랜만에 본 재밌는 개그가 있어서 이곳에 소개
직링크는 이곳. http://newkoman.mireene.com/tt/3792


어느 아내가 프로그래머 남편에게 「쇼핑하러 갈 때, 우유 하나 사와. 아, 계란 있으면 6개 사와」

남편은 잠시 후, 우유를 6개 사왔다.
아내는 물었다.
 
「왜 우유를 6개나 사왔어!」

남편「계란이 있길래 6개 사왔지…」


그러나 거기에 있는 댓글이 더더욱 대박...ㅋㅋㅋ


나도 댓글을 달려고 했으나, 어찌된 이유인지 난 차단되었다고...-_-;
어쨌거나 여기에 한번 남겨봄

#!/sh/bash
export EGG=0
export MILK=0

if [ EGG -eq 1 ]; then
  while (( MILK >= 6 )); do
    let+=MILK
  done
fi

#echo EGG="$EGG"
echo MILK="$MILK"


parcellite : 클립보드 관리자.(clipboard manager) Shortcut을 지정하여 그동안 Copy 또는 Drag 했던 텍스트, 링크들을 선택해서 붙여넣을 수 있다.

nabi : 우분투에서 한글 입력시 scim을 대체해서 사용할 수 있다. 시스템 > 관리 > 언어 > 키보드 입력시스템을 scim에서 nabi로 변경

ttf-nanum ttf-nanum-coding : 나눔고딕 및 나눔고딕코딩(고정폭 글꼴), 설치후 시스템 > 기본설정 > 모양 에서 변경한다.

pidgin-nateon pidgin-facebookchat : 네이트온과 페이스북 채팅을 pidgin에서 가능하게 해준다.

Libreoffice : Ubuntu 11.04에서는 기존 10.x 버전대에 기본적으로 설치되었던 OpenOffice를 대체하게 된다. 설치하는 방법은 링크를 참고.

vim : Vi Improved. 기본적으로 설치되어있는 버전은 light 버전이라 사용하는데 불편하다. apt-get install vim 하면 알아서 설치된다.

ssh : ssh daemon. 원격으로 접속해서 터널링하는데도 편하고, 업무 특성상 secure shell을 많이 사용해야한다. apt-get install ssh

sar : 네트워크의 트래픽 통계와 CPU 코어별 사용량을 확인하는데 편리하다. apt-get install sysstat

traceroute : 윈도의 tracert와 동일한 기능. 목적지까지 가는 라우팅 정보를 표시해준다. apt-get install traceroute

wireshark : 패킷정보를 열람해볼 수 있다. 일반 계정으로는 packet capture에 대한 권한이 없으므로 별도로 권한을 추가해 주어야 한다. 링크를 참고.

putty : 윈도우 putty 보다는 약간 불편하지만 그래도 쓸만하다.

hunspell-ko : 한글 맞춤법 사전. 기본 repository에 등록되어 있지만 없다면, 링크를 참고.

smplayer : Mplayer frontend. 저사양에서도 잘 돌아간다. Coreavc 코덱을 사용하려면 링크를 참고.

qalculate: Microsoft Math 까지는 아니지만 어느정도 그 역할을 해주는 프로그램. 수식계산할때 편하다+_+

Crossover : (상용) Linux 용 상용 Wine (Windows Emulator). 기본적으로 설치되는 wine보다 성능과 안정성이 뛰어나다. Crossover 위에 Office 2007을 설치해서 사용중이다.

Dropbox : Cloud 기반 File Sharing 서비스. http://dropbox.com


위의 것들을 한방에 설치하기는 불가능하고... 맨아래 2개만 빼고 한방에 설치하기
sudo apt-get purge openoffice*
sudo apt-add-repository ppa:libreoffice/ppa
sudo apt-get update
sudo apt-get install parcellite ttf-nanum ttf-nanum-coding pidgin-nateon pidgin-facebookchat libreoffice libreoffice-gnome vim ssh sysstat traceroute wireshark putty hunspell-ko smplayer qalculate
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap



The plugin is hosted on the sukimashita.com git repositories located here.

Install by first cloning the repository

git clone http://git.sukimashita.com/totem-plugin-airplay.git

then moving the files into

~/.local/share/totem/plugins/airplay


sources from http://www.omgubuntu.co.uk/2011/01/airplay-video-playback-comes-to-totem/

+ Recent posts