맥os 를 쓰다보면, 한글의 자소가 분리되는 현상을 경험하게 된다.

윈도우 / 리눅스 / 맥os 등을 같이 쓰다보면, 프로그램 처리시 조치해줘야 할 부분이 있다.

php 에서는 다음 방법으로 조치해준다.

패키지는 php-intl 를 설치해줘야 한다.

코드 처리는 다음처럼 해준다.

if (!\Normalizer::isNormalized($file_location)) { // mac type - utf8
  $file_location = \Normalizer::normalize($file_location);
}

요점은 맥os 방식을 윈도우/리눅스 방식으로 바꿔준다 라고 이해하면 된다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

우분투 로그인이 안된다.

.xsession-error 파일을 확인해 본다.(계정 폴더에 있다.)

/etc/X11/Xsession.d/99x11-common_start: line 5: /sbin/upstart: No such file or directory

다음과 같은 에러가 보인다.

우분투는 부팅 스크립트 방식을 바꿔왔다. 

system-v 방식 : /etc/init.d , rcX.d 형태의 관리

upstart 방식 : /etc/init/ 안에 부팅 관련 스크립트 관리  ( service OOO restart 형태 관리 )

systemd 방식 : 가장 최근 방식 ( systemctl restart OOO )

 

설치된 운영체제는 18.04 버전인데, systemd 을 쓰기에 upstart 는 쓰지 않는다.
(16.04 => 18.04 로 업그레이드해서 남아있었던듯 하다)

해결 방법은 upstart 를 제거해준다.

apt purge upstart

다시 GUI 로그인 해보면 될 것이다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

오래된 우분투 버전을 사용하고 있다. (12.04)

서버 자체가 오래되었고, 돌아가고 있는 어플도 레거시라 업그레이드 하기가 애매하다.

그런데 서버를 옮기고 나서 다음과 같은 메시지가 나온다.

[ 2676.415781] mei 0000:00:16.0: unexpected reset.
[ 2706.390158] mei 0000:00:16.0: unexpected reset.
[ 2736.364548] mei 0000:00:16.0: unexpected reset.
[ 2766.338924] mei 0000:00:16.0: unexpected reset.
[ 2796.313317] mei 0000:00:16.0: unexpected reset.
[ 2826.287704] mei 0000:00:16.0: unexpected reset.
[ 2856.262086] mei 0000:00:16.0: unexpected reset.
[ 2886.236475] mei 0000:00:16.0: unexpected reset.

원래부터 나오던 메시지였는지도 불확실 하다.

다음과 같은 장치인데,

# lspci -v |grep -i mei
00:16.0 Communication controller: Intel Corporation 7 Series/C210 Series Chipset Family MEI Controller #1 (rev 04)
	Kernel modules: mei

MEI 는 Management Engine Interface  라고 한다.

관리 엔진? 인터페이스 장치인듯 싶다. 뭐 하여간 잘 모르겠다.
(참고 : https://www.intel.co.kr/content/www/kr/ko/support/articles/000008927/software/chipset-software.html )

 

 

저 메시지가 계속 생겨서 없애고자 한다.

일단 modprobe 로 제거

# modprobe -r mei

# dmesg
mei 0000:00:16.0: PCI INT A disabled

위와 같이 나오고 중지된다.

부팅시 나오지 않게 한다. ( /etc/modprobe.d/blacklist.conf 에 다음 추가 )

blacklist mei

좀더 상태를 살펴보고 이상이 없는지 체크해보고 치명적인 이상이 있으면 추가(없으면 패스)

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

vuejs 를 사용시 vue-router 를 사용하여, 경로를 지정할 수 있다.
그러면 about / price / 등 필요한 페이지를 분리할 수 있어 작업하기 편하다.
그런데, SPA 웹페이지이기 때문에 index.html 내에서 처리가 된다.

즉, 해당 경로로 직접 들어가면 404 페이지가 표시된다.
그렇다면 404 페이지를 모두 index.html 으로 보내면 된다. ( 참조 : https://router.vuejs.org/kr/guide/essentials/history-mode.html )

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

아파치 apache 설정시 다음과 같은 에러가 발생할 수 있다.

RewriteBase: only valid in per-directory config files
Action 'configtest' failed.
The Apache error log may have more information.

그런경우는 해당 설정이 <Directory > </Directory> 설정내에 넣어준다.

<Directory {{vue앱-디렉토리패스}}>

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

</Directory>

이런식으로 넣어준다. vue 앱과 서버측 (node / go / php 등) 어플과 조합을 해서 사용가능하다.

php 같은 경우 laravel 등의 프레임웍(modern php)을 써도 되고, 그냥 날코딩(legacy php)으로 만들어서 조합해도 상관없다.

{{vue-app-path}}/api/[php app file].php

형태로 php 어플을 실행해도 된다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

모니터 연결이 안된 서버에 vnc 접속시 해상도가 1024x768 등 낮게 설정이 된다.

가상의 모니터로 접속할 수 있게 설정해준다.

더미 모니터 패키지를 설치한다.

apt install xserver-xorg-video-dummy

xorg 설정을 해준다. ( /usr/share/X11/xorg.conf.d/xorg.conf )

Section "Device"
    Identifier "DummyDevice"
    Driver "dummy"
    VideoRam 256000
EndSection

Section "Screen"
    Identifier "DummyScreen"
    Device "DummyDevice"
    Monitor "DummyMonitor"
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "1920x1080_60.0"
    EndSubSection
EndSection

Section "Monitor"
    Identifier "DummyMonitor"
    HorizSync 30-70
    VertRefresh 50-75
    ModeLine "1920x1080" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +Hsync +Vsync
EndSection

재부팅하면 원하는 해상도로 접속이 된다.

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,