반응형

 


 

Kubernetes 또는 Docker, CRI-O 등 Container runtime 환경에서 container를 사용하다보면,

UTC + 0로 timezone이 설정되어 있는 경우를 자주 본다.

Container 내부의 timezoneSeoul(서울)로 변경하려면 아래와 같이 따라하면 된다.

 

FROM ubuntu:22.04

... 중간 생략 ...

##
## Timezone 변경: Asia/Seoul 로 설정
##

RUN   apt install -y tzdata
RUN   ln -snf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

... 중간 생략 ...

 


 

 

반응형

.

 

Mac에서 Parallels (패러렐즈)를 사용하다보면, Excel(엑셀) 또는 PPT(파워포인트) 파일을 Mac OS에서 더블 클릭으로 열고 싶을 때가 있다. 즉, 기본 앱을 Mac OS에 있는 App에서 MS Windows(윈도우즈)의 MS Office(Excel, PowerPoint)앱으로  변경해야 하는데, 아래와 같이 그림을 따라서 설정하면 된다.

 

반응형

 


작성일: 2024년 1월 9일

 

Macbook에 USB Keyboard나 Bluetooth Keyboard를 연결해서 사용하다보면, 

Home과 End Key가 MS Windows와 달라서 불편하다.

 

Karabiner-Elements App을 설치하면 원하는대로 Key를 변경할 수 있지만, 나는 Macbook에 이것저것 App 설치하는 것이 싫어서 설정 파일을 직접 작성해서 Home, End Key 설정을 변경했다.

 

나중에 까먹고, 또 검색하느라 시간을 허비할 것 같아서 여기에 메모해둔다.

 

##  아래의 순서로 명령을 실행한다.

$ cd ~/Library
$ mkdir KeyBindings
$ cd KeyBindings
$ cat << EOF >> DefaultKeyBinding.dict
{
/* Remap Home / End */
"\UF729" = "moveToBeginningOfLine:"; /* Home */
"\UF72B" = "moveToEndOfLine:"; /* End */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
"$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
}
EOF
$

위와 같인 .dict 파일을 생성했으면, Log Out하고 다시 Log In 한다. 

그러면 Home Key와 End Key의 설정이 바뀌어 있을 것이다.

 

더 자세한 내용은 아래 Git 문서를 참고하기.

https://gist.github.com/trusktr/1e5e516df4e8032cbc3d

 

My DefaultKeyBinding.dict for Mac OS X

My DefaultKeyBinding.dict for Mac OS X. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

위 Git 문서에서 중요한 부분만 발췌했다.

/* ~/Library/KeyBindings/DefaultKeyBinding.Dict

This file remaps the key bindings of a single user on Mac OS X 10.5 to more
closely match default behavior on Windows systems. This makes the Command key
behave like Windows Control key. To use Control instead of Command, either swap
Control and Command in Apple->System Preferences->Keyboard->Modifier Keys...
or replace @ with ^ in this file.

Here is a rough cheatsheet for syntax.
Key Modifiers
^ : Ctrl
$ : Shift
~ : Option (Alt)
@ : Command (Apple)
# : Numeric Keypad

Non-Printable Key Codes

Standard
Up Arrow:     \UF700        Backspace:    \U0008        F1:           \UF704
Down Arrow:   \UF701        Tab:          \U0009        F2:           \UF705
Left Arrow:   \UF702        Escape:       \U001B        F3:           \UF706
Right Arrow:  \UF703        Enter:        \U000A        ...
Insert:       \UF727        Page Up:      \UF72C
Delete:       \UF728        Page Down:    \UF72D
Home:         \UF729        Print Screen: \UF72E
End:          \UF72B        Scroll Lock:  \UF72F
Break:        \UF732        Pause:        \UF730
SysReq:       \UF731        Menu:         \UF735
Help:         \UF746

OS X
delete:       \U007F

For a good reference see http://osxnotes.net/keybindings.html.

NOTE: typically the Windows 'Insert' key is mapped to what Macs call 'Help'.
Regular Mac keyboards don't even have the Insert key, but provide 'Fn' instead,
which is completely different.
*/

{
    "@\UF72B"  = "moveToEndOfDocument:";                         /* Cmd  + End   */
    "~@\UF703" = "moveToEndOfDocument:";                         /* Cmd + Option + Right Arrow */

    "@$\UF72B" = "moveToEndOfDocumentAndModifySelection:";       /* Shift + Cmd  + End */

    "@\UF729"  = "moveToBeginningOfDocument:";                   /* Cmd  + Home  */
    "~@\UF702" = "moveToBeginningOfDocument:";                   /* Cmd + Option + Left Arrow */

    "@$\UF729" = "moveToBeginningOfDocumentAndModifySelection:"; /* Shift + Cmd  + Home */

    "\UF729"   = "moveToBeginningOfLine:";                       /* Home         */
    "~\UF702"  = "moveToBeginningOfLine:";                       /* Option + Left Arrow */

    "$\UF729"  = "moveToBeginningOfLineAndModifySelection:";     /* Shift + Home */
    "$~\UF702" = "moveToBeginningOfLineAndModifySelection:";     /* Shift + Option + Right Arrow */

    "\UF72B"   = "moveToEndOfLine:";                             /* End          */
    "~\UF703"  = "moveToEndOfLine:";                             /* Option + Right Arrow */

    "$\UF72B"  = "moveToEndOfLineAndModifySelection:";           /* Shift + End  */
    "$~\UF703" = "moveToEndOfLineAndModifySelection:";           /* Shift + Option + Left Arrow  */

    "\UF72C"   = "pageUp:";                                      /* PageUp       */
    "\UF72D"   = "pageDown:";                                    /* PageDown     */
    "$\UF728"  = "cut:";                                         /* Shift + Del  */
    "$\UF727"  = "paste:";                                       /* Shift + Ins */
    "@\UF727"  = "copy:";                                        /* Cmd  + Ins  */
    "$\UF746"  = "paste:";                                       /* Shift + Help */
    "@\UF746"  = "copy:";                                        /* Cmd  + Help (Ins) */

    "~j"       = "moveBackward:";                                /* Option + j */
    "~l"       = "moveForward:";                                 /* Option + l */
    "~i"       = "moveUp:";                                      /* Option + i */
    "~k"       = "moveDown:";                                    /* Option + k */

    "@~i"      = ("moveUp:","moveUp:","moveUp:","moveUp:","moveUp:","moveUp:","moveUp:","moveUp:",);                            /* Cmd + Option + j */
    "@~k"      = ("moveDown:","moveDown:","moveDown:","moveDown:","moveDown:","moveDown:","moveDown:","moveDown:",);                            /* Cmd + Option + j */

    "@\UF702"  = "moveWordBackward:";                            /* Cmd  + LeftArrow */
    "@~j"      = "moveWordBackward:";                            /* Cmd + Option + j */
    "@\U007F"  = "deleteWordBackward:";                          /* Cmd  + Backspace */

    "@\UF703"  = "moveWordForward:";                             /* Cmd  + RightArrow */
    "@~l"      = "moveWordForward:";                             /* Cmd + Option + l */
    "@\UF728"  = "deleteWordForward:";                           /* Cmd  + Delete */

    "@$\UF702" = "moveWordBackwardAndModifySelection:";          /* Shift + Cmd  + Leftarrow */
    "@$\UF703" = "moveWordForwardAndModifySelection:";           /* Shift + Cmd  + Rightarrow */
}

 


 

반응형

 


 


참고: 
  테스트한 날: 2023년 1월 6일
  테스트에 사용했던 OS:  Ubuntu 22.04

 

 

Ubuntu OS를 Booting할 때마다 기존  /etc/resolv.conf 파일은  resolvconf.servicesystemd-resolved.service에 의해서 overwrite 된다.

따라서 nameserver를 내가 원하는 값으로 변경하고 싶으면, 아래와 같이 추가로 설정 작업을 해야 한다.

 

##
## root 계정 권한 갖기
##

$  sudo -s


##
## Ubuntu를 설치할 때 최소 설치 또는 기본 설정으로 설치했다면
## 아래와 같이 resolvconf.service가 없어서 에러가 출력될 것이다.
## 따라서 resolvconf.service 부터 설치해야 한다.
##

$  systemctl status resolvconf.service

Unit resolvconf.service could not be found.

$

## 
## NOTE:
##   apt 명령으로 resolvconf를 설치하기 전에 임시로 /etc/resolv.conf 파일에
##   nameserver 항목에 1.1.1.1 값을 설정한다.
##
$  cat  /etc/resolv.conf
... 중간 생략 ...

nameserver  1.1.1.1         ## <-- 이 부분을 수정할 것!!!
options edns0 trust-ad

$  apt install resolvconf

$  systemctl status resolvconf

● resolvconf.service - Nameserver information manager
     Loaded: loaded (/lib/systemd/system/resolvconf.service; enabled; vendor preset: enabled)
     Active: active (exited) since Thu 2021-12-30 16:07:28 KST; 3min 14s ago

... 중간 생략 ...

$  cat  /etc/resolvconf/resolv.conf.d/head

nameserver 1.1.1.1
nameserver 8.8.8.8


##
## 위에서 설정한 값을 system에 반영하기 위해 아래와 같이 명령을 수행한다.
##

$  resolvconf --enable-updates

$  resolvconf -u

$  cat /etc/resolv.conf

nameserver 1.1.1.1
nameserver 8.8.8.8

$

##
## 위 과정이 에러 없이 수행되었다면, OS를 Reboot해서
## /etc/resolv.conf 설정 내용을 원하는 대로 반영되는지 확인해볼 것 !!!
##

$  reboot

## Rebooting ...
## ...
## ...

$  cat /etc/resolv.conf

nameserver 1.1.1.1
nameserver 8.8.8.8

$

 

 


참고:  위 설정은  Ubuntu 18.04 와 Ubuntu 20.04 에서만 테스트했음.  다른 버전의 Ubuntu는 위 설명이 효과가 있는지 아직 모름.
(2021년 12월 30일에 테스트한 결과)

 

 

 

참고:  위와 같이 nameserver를 왜 변경해야 하는 상황이 있을까?

 

apt update 또는 apt install  명령을 수행하다보면, 아래 화면과 같이  Temporary failure resolving archive.ubuntu.com 이라는 에러가 발생하는 경우가 있다.

atp 명령 수행시 Temporary failure resolving archive.ubuntu.com 에러 발생

 

왜 이런 에러가 발생할까?

nameserver 기본 설정이 아래와 같이 127.0.0.53 으로 되어 있기 때문이다.

nameserver 값을 1.1.1.1 또는 8.8.8.8 과 같이 설정하면 apt install 명령을 잘 수행될 것이다.

 

resolv.conf 기본 설정 정보


 


 

+ Recent posts