프로그램 사용/VNC2022. 8. 16. 15:02

에러별 디버그 메시지 출력 위치 추적중.

 

24/03/2021 11:06:09 rfbProcessClientNormalMessage: FixColourMapEntries unsupported
24/03/2021 11:06:09 Client 192.168.0.6 gone

[링크 : https://github.com/LibVNC/libvncserver/blob/master/libvncserver/rfbserver.c#L2270]

 

24/03/2021 10:55:30 hybiReadAndDecode: read; Resource temporarily unavailable24/03/2021 10:55:30 hybiReadAndDecode: read; Resource temporarily unavailable24/03/2021 10:55:30 hybiReadAndDecode: read; Resource temporarily unavailable24/03/2021 10:55:30 hybiReadAndDecode: read; Resource temporarily unavailable24/03/2021 10:55:30 hybiReadHeader: got frame without mask; ret=6
24/03/2021 10:55:30 hybiReadAndDecode: unhandled opcode 13, b0: 9d, b1: 41
24/03/2021 10:55:30 rfbProcessClientNormalMessage: read: Protocol error
24/03/2021 10:55:30 Client 192.168.0.6 gone

[링크 : https://github.com/LibVNC/libvncserver/blob/master/libvncserver/ws_decode.c#L374]

 

24/03/2021 11:09:19 Pixel format for client 192.168.0.6:
24/03/2021 11:09:19   87 bpp, depth 5, little endian
24/03/2021 11:09:19   true colour: max r 47360 g 20997 b 2, shift r 179 g 0 b 77
24/03/2021 11:09:19 rfbSetTranslateFunction: client bits per pixel not 8, 16 or 32
24/03/2021 11:09:19 Client 192.168.0.6 gone

[링크 : https://github.com/LibVNC/libvncserver/blob/master/libvncserver/translate.c#L261]

 

+

2022.08.17

rfbRunEventLoop() 에 인자를 TRUE를 주고(background 실행하도록)

main loop 에서 rfbProcessEvents() 을 통해서 처리하게 하다 보니(websocket 처리를 위해)

양쪽에서 fd를 읽어 가려하다보니 데이터가 정상적으로 가져가지지 않아 죽는 것으로 판명됨.

'프로그램 사용 > VNC' 카테고리의 다른 글

libvncserver 종료 절차  (0) 2022.11.01
libvncserver 로그인  (0) 2022.09.26
libvncserver websocket example  (0) 2022.08.12
libvncserver 마우스 이벤트  (0) 2022.02.25
libvncserver 사용예  (0) 2022.02.15
Posted by 구차니
프로그램 사용/VNC2022. 8. 12. 10:58

음.. libvncserver 라이브러리를 이용해서 간단하게 저 인자 하나 주고 만들면 되려나?

int main(int argc,char** argv)
{
  rfbScreenInfoPtr rfbScreen = rfbGetScreen(&argc,argv,maxx,maxy,8,3,bpp);
  if(!rfbScreen)
    return 1;
  rfbScreen->desktopName = "LibVNCServer Example";
  rfbScreen->frameBuffer = (char*)malloc(maxx*maxy*bpp);
  rfbScreen->alwaysShared = TRUE;
  rfbScreen->ptrAddEvent = doptr;
  rfbScreen->kbdAddEvent = dokey;
  rfbScreen->newClientHook = newclient;
  rfbScreen->httpDir = "../webclients";
  rfbScreen->httpEnableProxyConnect = TRUE;

  initBuffer((unsigned char*)rfbScreen->frameBuffer);
  rfbDrawString(rfbScreen,&radonFont,20,100,"Hello, World!",0xffffff);

  /* This call creates a mask and then a cursor: */
  /* rfbScreen->defaultCursor =
       rfbMakeXCursor(exampleCursorWidth,exampleCursorHeight,exampleCursor,0);
  */

  MakeRichCursor(rfbScreen);

  /* initialize the server */
  rfbInitServer(rfbScreen);

#ifndef BACKGROUND_LOOP_TEST
#ifdef USE_OWN_LOOP
  {
    int i;
    for(i=0;rfbIsActive(rfbScreen);i++) {
      fprintf(stderr,"%d\r",i);
      rfbProcessEvents(rfbScreen,100000);
    }
  }
#else
  /* this is the blocking event loop, i.e. it never returns */
  /* 40000 are the microseconds to wait on select(), i.e. 0.04 seconds */
  rfbRunEventLoop(rfbScreen,40000,FALSE);
#endif /* OWN LOOP */
#else
#if !defined(LIBVNCSERVER_HAVE_LIBPTHREAD) && !defined(LIBVNCSERVER_HAVE_WIN32THREADS)
#error "I need pthreads or win32 threads for that."
#endif
  /* catch Ctrl-C to set a flag for the main thread */
  signal(SIGINT, intHandler);
  /* this is the non-blocking event loop; a background thread is started */
  rfbRunEventLoop(rfbScreen,-1,TRUE);
  fprintf(stderr, "Running background loop...\n");
  /* now we could do some cool things like rendering in idle time */
  while (maintain_connection) {
      sleep(5); /* render(); */
  }
  fprintf(stderr, "\nShutting down...\n");
  rfbShutdownServer(rfbScreen, TRUE);
#endif /* BACKGROUND_LOOP */

  free(rfbScreen->frameBuffer);
  rfbScreenCleanup(rfbScreen);

  return(0);
}

[링크 :https://github.com/LibVNC/libvncserver/blob/master/examples/example.c]

[링크 : https://github.com/LibVNC/libvncserver]

 

+

먼가 되나 했더니 안되네..

일단은.. noVNC 에서는 ws://ip/websockify 라는 경로를 열려고 하는데

libvncserver.so 에서 해당 경로를 열어주는 부분이 없나...?

[링크 : https://github.com/novnc/websockify]

 

example은 libvncserver의 example/example.c 빌드해서 나온거

revind / revind.so / run / websockify 는 websockify 에서 나온거

libvncserver 와 noVNC와 websockify 의 조합으로 어찌 되긴 하는데..

~/libvncserver/webclients $ ls -al
total 64
drwxr-xr-x  4 pi pi  4096 Aug 12 11:44 .
drwxr-xr-x 16 pi pi  4096 Aug 12 11:03 ..
-rwxr-xr-x  1 pi pi 25372 Aug 12 11:02 example
-rw-r--r--  1 pi pi  1601 Aug 12 10:32 index.vnc
drwxr-xr-x 10 pi pi  4096 Aug 12 11:00 novnc
-rwxr-xr-x  1 pi pi   424 Aug 12 11:39 rebind
-rwxr-xr-x  1 pi pi  7508 Aug 12 11:39 rebind.so
-rwxr-xr-x  1 pi pi    78 Aug 12 11:39 run
drwxr-xr-x  3 pi pi  4096 Aug 12 11:28 websockify

 

인자는 아래와 같이 하고 실행!

$ ./run 5900 -- ./example

 

웹 브라우저에서 http://ip:5800 으로 접속하면 아래와 같이 뜨고

별다른 설정을 하지 않았다면 wss(websocket secure)를 안될테니 위에 "Click here to connect using noVNC"를 누른다.

 

약간의 시간을 기다리면(libvncserver의 웹 서버가 느린지 파일 전송이 좀 느리다)

아래와 같이 쨘~

 

 

+

한번 되더니 websockify 없이도 되네.. 머지?

 

 

+

runInBackground 의 값을 TRUE 로 해주면 웹 서버가 작동을 안한다 -_-

어떻게 해야 할까..

void rfbRunEventLoop ( rfbScreenInfoPtr  screenInfo,
long  usec,
rfbBool  runInBackground  
)

[링크 : http://libvncserver.sourceforge.net/doc/html/group__libvncserver__api.html#ga1f5f3116deec0ab6bb18208c2eb538e6]

 

+

2022.08.17

하하하 안되는게 당연한거 였... ㅠㅠ

static THREAD_ROUTINE_RETURN_TYPE
listenerRun(void *data)
{
    rfbScreenInfoPtr screen=(rfbScreenInfoPtr)data;
    int client_fd;
    struct sockaddr_storage peer;
    rfbClientPtr cl = NULL;
    socklen_t len;
    fd_set listen_fds;  /* temp file descriptor list for select() */

    /*
       Only checking socket state here and not using rfbIsActive()
       because: When rfbShutdownServer() is called by the client, it runs in
       the client-to-server thread's context, resulting in itself calling
       its own the pthread_join(), returning immediately, leaving the
       client-to-server thread to actually terminate _after_ the listener thread
       is terminated, leaving the client list still populated.
     */
    /* TODO: HTTP is not handled */
}

'프로그램 사용 > VNC' 카테고리의 다른 글

libvncserver 로그인  (0) 2022.09.26
libvncserver 접속 끊어짐 문제  (0) 2022.08.16
libvncserver 마우스 이벤트  (0) 2022.02.25
libvncserver 사용예  (0) 2022.02.15
rfb(remote framebuffer) protocol  (0) 2022.01.26
Posted by 구차니
프로그램 사용/uinput2022. 8. 11. 23:42

uinput 에서 절대값을 받기 위해서는 마우스가 아니라 터치로 인식을 시켜야 한다.

 

가장 도움을 받았던 문서가 오히려 함정 카드(?)였는데

1.7.4.2의 내용은 상대좌표를 이용하는 일반적인 마우스의 예라서

[링크 : https://www.kernel.org/doc/html/v4.12/input/uinput.html]

 

struct uinput_setup 구조체를 이용하고 있지만

struct uinput_setup {
struct input_id id;
char name[UINPUT_MAX_NAME_SIZE];
__u32 ff_effects_max;
};

[링크 : https://github.com/torvalds/linux/blob/master/include/uapi/linux/uinput.h]

 

터치패드의 경우(혹은 터치 스크린) 아래의 구조체 중 absmax, absmin 에  시작, 끝 좌표를 넣어 주어야 한다. 

ABS_CNT(64)가 왜 상당히 크게 잡혀있는지 모르겠지만

absmax[0] = WIDTH, absmax[1] = HEIGHT를 넣고 초기화 해주면 된다.

struct uinput_user_dev {
char name[UINPUT_MAX_NAME_SIZE];
struct input_id id;
__u32 ff_effects_max;
__s32 absmax[ABS_CNT];
__s32 absmin[ABS_CNT];
__s32 absfuzz[ABS_CNT];
__s32 absflat[ABS_CNT];
};

[링크 : https://elixir.bootlin.com/linux/v4.6/source/include/uapi/linux/uinput.h#L222]

 

VID와 PID 혹은 문자열이 영향을 주는진 모르겠다.

[링크 : https://github.com/bendahl/uinput/blob/master/touchpad.go#L172]

 

UI_DEV_SETUP을 ioctl을 이용하여 setup 하는게 아니라

/dev/uinput fd에 write() 함수로 써버리는 것이 EV_REL과의 차이라고 해야하나..?

void init_uinput_touchscreen()
{
    int ret = 0;
    struct uinput_user_dev usetup;
    int keys[] = {BTN_LEFT, BTN_RIGHT, BTN_TOUCH};

    int fd_touch = open("/dev/uinput", O_WRONLY | O_NONBLOCK);
    printf("fd[%d]\n", fd_touch);

    //Custom key events init
    ioctl(fd_touch, UI_SET_EVBIT, EV_KEY);
    for(int i = 0; i < sizeof(keys) / sizeof(int); i++){
        ioctl(fd_touch, UI_SET_KEYBIT, keys[i]);
    }

    //Mouse Pointer events init
    ret = ioctl(fd_touch, UI_SET_EVBIT, EV_ABS);
    printf("EV_ABS ret[%d]\n",ret);
    ret = ioctl(fd_touch, UI_SET_ABSBIT, ABS_X);
    printf("ABS_X ret[%d]\n",ret);
    ret = ioctl(fd_touch, UI_SET_ABSBIT, ABS_Y);
    printf("ABS_Y ret[%d]\n",ret);

    memset(&usetup, 0, sizeof(usetup));
    usetup.id.bustype = BUS_USB;
    usetup.id.vendor = 0x4711;
    usetup.id.product = 0x0817;
    strcpy(usetup.name, "TouchPad");
    usetup.absmax[0] = 1024;
    usetup.absmax[1] = 768;

    // ret = ioctl(fd_touch, UI_DEV_SETUP, &usetup);
    ret = write(fd_touch, &usetup, sizeof(struct uinput_user_dev));
    printf("UI_DEV_SETUP ret[%d]\n",ret);
    printf("sizeof %d\n",sizeof(struct uinput_user_dev));
    ret = ioctl(fd_touch, UI_DEV_CREATE);
    printf("UI_DEV_CREATE ret[%d]\n",ret);
}
Posted by 구차니
embeded/raspberry pi2022. 8. 10. 18:03

패키지 설치

$ sudo apt install cmake ninja meson libpixman-1-0 libpixman-1-dev libdrm-dev libdrm-common libdrm2 libxkbcommon-dev libwayland-dev

[링크 : https://github.com/ammen99/wf-recorder/issues/74]

 

ninja 설치

$ git clone https://github.com/ninja-build/ninja.git
$ cd ninja
$ ./configure.py --bootstrap

[링크 : https://ninja-build.org/]

 

git clone https://github.com/any1/wayvnc.git
git clone https://github.com/any1/neatvnc.git
git clone https://github.com/any1/aml.git

mkdir wayvnc/subprojects
cd wayvnc/subprojects
ln -s ../../neatvnc .
ln -s ../../aml .
cd -

mkdir neatvnc/subprojects
cd neatvnc/subprojects
ln -s ../../aml .
cd -

meson build
ninja -C build

[링크 : https://github.com/any1/wayvnc]

 

+

sway를 실행하고

 

sway에서 터미널을 연 다음, wayvnc를 실행

 

tightVNC로 접속 확인.

 

어익 후 라즈베리 3b에서 cpu가 죽어나네

 

rpi3 같은 메모리 대역폭 후달리는 애도 잘 쓰도록 만들었다는데 머.. 3.3%면 양호한건가..

sway가 문제인가?

The OpenGL ES 2.0 based renderer has now been replaced with a pixman based renderer. The new renderer is both simpler and performs better on devices with poor memory bandwidth such as the Raspberry Pi 3.

[링크 : https://github.com/any1/wayvnc/releases]

 

+

22.08.11

rpi 4 에서 실행하니 cpu가 착해진다. openGL ES 성능 차이인가..

'embeded > raspberry pi' 카테고리의 다른 글

adxl345 spi  (0) 2022.08.17
tea5767 모듈 땜질  (0) 2022.08.17
raspberrypi wayland compositor 설정  (0) 2022.08.10
linux iio adc + rpi  (0) 2022.06.20
PI 400 써봄  (0) 2022.05.25
Posted by 구차니
프로그램 사용/wayland2022. 8. 10. 16:41

 

sway와 wayfire 라는 녀석이 wlroot 기반의 compositor 인 듯.

 

일단~~은 sway 패키지를 설치하고

$ sudo apt install sway

[링크 : https://installati.one/ubuntu/21.04/sway/]


wayvnc 설치(ubuntu 22.04 LTS/x86)

$ sudo apt install wayvnc

 

로그아웃 후에 세션을 sway로 변경

[링크 : https://llandy3d.github.io/sway-on-ubuntu/]

[링크 : https://www.slant.co/topics/11023/versus/~sway_vs_wayfire_vs_weston]

 

"윈 + D" 누르고 terminal 친 후 방향키로 gnome-terminal 선택 + enter

혹은 "윈 + enter"

 

요건 심심해서 htop 실행. i7-3635QM 이긴 한데

sway와 wayvnc가 동일하게 1.3% 씩 먹는 상황. 이걸 낮다고 봐야하나 높다고 봐야하나..

[링크 : https://swaywm.org/]

[링크 : https://wiki.archlinux.org/title/Sway]

 

터미널에서 wayvnc 접속가능하도록 실행

$ wayvnc 0.0.0.0

 

 

+

sway 단축키

super - shift - space (타일/창 전환)
super - e (가로 / 세로 타일 배치 전환)
super - h (창 전환)
super - enter (터미널 열기)
super - d (프로그램 실행?)

 

+

로그아웃

방법을 못 찾아서, sway 프로세스 kill 하고 다시 로그인 함 -_-

'프로그램 사용 > wayland' 카테고리의 다른 글

weston screen shooter 뜯어보기  (0) 2022.08.17
wayland glreadpixels 실패  (0) 2022.08.16
wayvnc 0.5 릴리즈  (0) 2022.08.09
capture drm screen  (0) 2022.08.08
weston redraw 취소하기  (0) 2022.07.07
Posted by 구차니
embeded/raspberry pi2022. 8. 10. 10:32

2022년 4월 4일자 bullseye 배포판에 wayland가 들어있다는데

raspi-config를 통해 wayland로 변경이 가능한 듯.

순수(?) wayland는 아니고 X11-wayland 인 것 같긴한데 어떻게 바꾸려나?

[링크 : https://blog.desdelinux.net/en/raspberry-pi-os-2022-04-04-arrives-with-initial-wayland-support-improvements-in-the-configuration-assistant-and-more/]

[링크 : https://www.phoronix.com/news/Raspberry-Pi-OS-Wayland]

[링크 : https://www.linuxadictos.com/ko/raspberry-pi-os-empieza-a-experimentar-con-wayland.html]

 

라즈베리 파이 3, 64bit 버전, raspi-config에서 Advanced로 들어가니 A9 Wayland가 존재한다.

 

Yes 해주고

 

리부팅 요청하는데 그건 귀찮으니 패스

 

라즈베리 파이 3라서 안되는건가.. 아니면 64bit 버전이라 그런가?

$ ps -ef | grep way
pi           843     702  3 11:21 ?        00:00:03 /usr/bin/Xwayland :0 -rootless -noreset -accessx -core -auth /run/user/1000/.mutter-Xwaylandauth.AFF5Q1 -listen 4 -listen 5 -displayfd 6 -listen 7

$ sudo apt install wayvnc
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package wayvnc

 

32bit rpi-OS 해도 안되는건 매한가지 -_-

$ ps -ef | grep way
pi        1481  1462  0 12:09 pts/1    00:00:00 grep --color=auto way

$ uname -a
Linux raspberrypi 5.15.32-v7+ #1538 SMP Thu Mar 31 19:38:48 BST 2022 armv7l GNU/Linux

$ sudo apt-get install wayvnc
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package wayvnc

 

우분투 22.04 LTS 설치(x86) 실행은 안되네?

$ uname -a
Linux victor-770Z5E-780Z5E 5.15.0-43-generic #46-Ubuntu SMP Tue Jul 12 10:30:17 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

$ sudo apt-get install wayvnc
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다... 완료
상태 정보를 읽는 중입니다... 완료
다음의 추가 패키지가 설치될 것입니다 :
  libaml0 libneatvnc0 libturbojpeg
다음 새 패키지를 설치할 것입니다:
  libaml0 libneatvnc0 libturbojpeg wayvnc
0개 업그레이드, 4개 새로 설치, 0개 제거 및 4개 업그레이드 안 함.
235 k바이트 아카이브를 받아야 합니다.
이 작업 후 839 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n]

$ wayvnc
wl_registry@2: error 0: invalid version for global wl_output (4): have 2, wanted 3
ERROR: Virtual Pointer protocol not supported by compositor.
ERROR: Failed to initialise wayland

 

혹시나 해서 해보는데 영 진척이 없다.

$ sudo nano /etc/gdm3/custom.conf
WaylandEnable=true

[링크 : https://linuxconfig.org/how-to-enable-disable-wayland-on-ubuntu-22-04-desktop]

 

초기값(true도 false도 아닌 WaylandEnable 자체가 comment)

$ ps -ef | grep way
root         853       1  0 11:41 ?        00:00:00 /usr/bin/python3 /usr/bin/waydroid -w container start
minimonk 20264   20253  0 12:38 tty2     00:00:00 /usr/libexec/gdm-wayland-session env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --session=ubuntu


$ wayvnc
wl_registry@2: error 0: invalid version for global wl_output (4): have 2, wanted 3
ERROR: Virtual Pointer protocol not supported by compositor.
ERROR: Failed to initialise wayland

 

false 일때

$ ps -ef | grep way
root         853       1  0 11:41 ?        00:00:00 /usr/bin/python3 /usr/bin/waydroid -w container start

$ wayvnc
ERROR: Failed to initialise wayland

 

true 일때

$ ps -ef | grep way
root         853       1  0 11:41 ?        00:00:00 /usr/bin/python3 /usr/bin/waydroid -w container start
minimonk 18392   18381  0 12:32 tty2     00:00:00 /usr/libexec/gdm-wayland-session env GNOME_SHELL_SESSION_MODE=ubuntu /usr/bin/gnome-session --session=ubuntu

$ wayvnc
wl_registry@2: error 0: invalid version for global wl_output (4): have 2, wanted 3
ERROR: Virtual Pointer protocol not supported by compositor.
ERROR: Failed to initialise wayland

 

'embeded > raspberry pi' 카테고리의 다른 글

tea5767 모듈 땜질  (0) 2022.08.17
rpi3b에서 wayvnc 빌드 + 실행하기  (0) 2022.08.10
linux iio adc + rpi  (0) 2022.06.20
PI 400 써봄  (0) 2022.05.25
라즈베리 파이2 / 마인크래프트  (0) 2022.03.18
Posted by 구차니

wavenumber(파수) = 1 / 파장

[링크 : https://www.scienceall.com/파수wave-number/]

[링크 : https://ywpop.tistory.com/4838]

 

1512 nm = 6613.76 cm–1

650 nm = 15384.62 cm–1 (빨간색)

[링크 : https://convert.impopen.com/index.php]

 

+

2023.08.07

In the physical sciences, the wavenumber (or wave number), also known as repetency,[1] is the spatial frequency of a wave, measured in cycles per unit distance (ordinary wavenumber) or radians per unit distance (angular wavenumber).

[링크 : https://en.wikipedia.org/wiki/Wavenumber]

'이론 관련 > 사진 광학 관련' 카테고리의 다른 글

빔 프로젝터 오프셋  (0) 2023.01.17
DFB / DBR laser  (0) 2022.08.09
modulated laser  (0) 2022.08.03
lock-in amplifier (LIA)  (0) 2022.07.11
FMS(Frequency modulation spectroscopy)  (0) 2022.06.20
Posted by 구차니

 

 

[링크 : https://m.blog.naver.com/panoptics/100196593100]

 

DBR(Distributed Bragg Reflector)

[링크 : https://www.itfind.or.kr/WZIN/jugidong/1062/106201.htm]

 

Distributed Feed Back type - Laser Diode

[링크 : http://www.ktword.co.kr/word/abbr_view.php?m_temp1=3388]

'이론 관련 > 사진 광학 관련' 카테고리의 다른 글

빔 프로젝터 오프셋  (0) 2023.01.17
wavelength, wavenumber  (0) 2022.08.09
modulated laser  (0) 2022.08.03
lock-in amplifier (LIA)  (0) 2022.07.11
FMS(Frequency modulation spectroscopy)  (0) 2022.06.20
Posted by 구차니

22.07.10 에 릴리즈 되었는데 H.264 인코딩이 특징인 듯.

wayland도 힘을 못써서 조용히 사라질줄 알았는데, 조용히 부활하고 있었던 건가.. -_-

[링크 : https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/wayland-display-server/1333848-wayvnc-0-5-vnc-server-for-wlroots-based-wayland-compositors-released]

[링크 : https://github.com/any1/wayvnc/releases/tag/v0.5.0]

[링크 : https://github.com/any1/wayvnc]

 

 

그나저나 s390x는 먼가 해서 찾아봤더니 (s로 시작해서 스냅드래곤인가 싶었지만)

[링크 : https://packages.ubuntu.com/jammy/wayvnc]

 

1998년 단종된 IBM System/390 시리즈 인 것 같은데.. 이걸 아직도(?) 지원해주다니..

[링크 : https://en.wikipedia.org/wiki/IBM_System/390]

[링크 : https://en.wikipedia.org/wiki/Linux_on_IBM_Z#Hardware]

'프로그램 사용 > wayland' 카테고리의 다른 글

wayland glreadpixels 실패  (0) 2022.08.16
sway + wayvnc  (0) 2022.08.10
capture drm screen  (0) 2022.08.08
weston redraw 취소하기  (0) 2022.07.07
weston drm debug  (0) 2022.06.29
Posted by 구차니

왼쪽은 미리보기, 오른쪽은 웹 에디터 보기. 너무 처참하게 깨지는거 아닌가? ㅠㅠ

이 티스토리 그지 깽깽이 들아!!!

반응형 웹 스킨으로 바꾸어 보니 그나마 나아지긴 한다.. 스킨 바꾸어야 하나?

 

+

검색 페이지. 요게 기존 스타일.

 

개발자 도구로 추적해보니

 

줄 하나하나 미친듯이 넓어지는건

.contents_style 의 margin-bottom: 30px 때문인것 같고

 

짙은 검은색이 되는건

div.contents_style 의 color : #333

 

'개소리 왈왈 > 블로그' 카테고리의 다른 글

카카오 계정 통합  (0) 2022.08.26
해피빈 기부  (0) 2022.08.22
근 한달만의 블로그 정리  (2) 2022.07.21
게을러졌어...  (0) 2022.05.16
해피빈 기부  (0) 2022.04.25
Posted by 구차니