본문 바로가기

리눅스9

2. Gtk 프로그래밍 개념 잡기 www.kernelpanic.kr/category/%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4%20%EC%9D%BD%EA%B8%B0/%EB%A6%AC%EB%88%85%EC%8A%A4%EC%97%90%EC%84%9C%20%EA%B0%80%EC%9E%A5%20OOO%ED%95%9C%20GUI%20%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC%20-%20GTK '오픈소스 읽기/리눅스에서 가장 OOO한 GUI 라이브러리 - GTK' 카테고리의 글 목록 www.kernelpanic.kr 2020년 12월 16일에 Gtk4가 릴리즈 되었다. 기존 Gtk3 대비 눈에 띄는 큰 변화 대신, 최적화와 GPU 가속을 통한 성능 향상과, 몇 가지 위젯 추가 등의 변화.. 2021. 4. 17.
번외. 주요 D-Bus 프로토콜 스펙들 위 이미지는 리눅스 그놈 데스크탑에서 파이어폭스 브라우저로 유투브를 재생하는 모습이다. 그런데 한 가지 신기한게 있다. 상단 드롭다운 메뉴에 현재 재생하는 영상을 정지하거나 다음/이전 영상 재생을 할 수 있는 컨트롤 패널이 생겼다. 그놈 데스크탑과 파이어폭스는 완전히 다른 두 앱이지만, 서로간의 커넥션이 이뤄진 것이다. 파이어폭스만 그럴까? vlc, totem, lollypop 등 리눅스에서 사용 가능한 대부분의 미디어 플레이어로 영상을 재생하면, 그놈 데스크탑에는 파이어폭스와 동일한 컨프롤 패널이 생성된다. 그놈 데스크탑이 그 많은 미디어 플레이어들과 협업을 해서, 커넥션을 형성한 것일까? 그렇다면 누군가 새로운 미디어 플레이어를 개발한다면, 그놈 데스크탑은 커넥션을 형성하기 위해 새로운 작업을 해야 .. 2021. 4. 13.
2. D-Bus 사용방법 www.kernelpanic.kr/category/%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4%20%EC%9D%BD%EA%B8%B0/%EB%AA%A8%EB%8D%98%20IPC%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20-%20D-Bus '오픈소스 읽기/모던 IPC 시스템 - D-Bus' 카테고리의 글 목록 www.kernelpanic.kr 2.1 D-Bus 라이브러리들 어플리케이션 입장에서는 D-Bus는 사용 규약만 지킨다면, 언어 / 라이브러리와 무관하게 동일한 동작을 수행한다. 따라서 D-Bus는 다양한 언어로 구현이 되어 있으며, 동일한 언어에서도 다양한 라이브러리들이 있다. 대표적으로 D-Bus를 사용하기 위한 라이브러리들은 다음과 같다. 라이브러리 지원 언어.. 2021. 4. 11.
1. D-Bus 기초 www.kernelpanic.kr/category/%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4%20%EC%9D%BD%EA%B8%B0/%EB%AA%A8%EB%8D%98%20IPC%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20-%20D-Bus '오픈소스 읽기/모던 IPC 시스템 - D-Bus' 카테고리의 글 목록 www.kernelpanic.kr 1.1 D-Bus란? 컴퓨터 세상에는 다양한 개발자들이 개발한 수 많은 앱들이 있다. 안드로이드를 예로 들어보자. 우리는 유투브로 마음에 드는 영상을 "공유" 버튼을 클릭해서 카카오톡으로 친구에게 공유한다. 친구가 공유받은 영상을 보던 중에 스카이프 영상통화가 오면, 영상통화를 하는 중에 유투브는 자동으로 정지된다. 유투브와 카카오.. 2021. 3. 27.
3. Systemd 깊이보기 - systemctl 같은 카테고리의 글 보기 www.kernelpanic.kr/category/%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4%20%EC%9D%BD%EA%B8%B0/Init%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20-%20Systemd '오픈소스 읽기/Init 시스템 - Systemd' 카테고리의 글 목록 www.kernelpanic.kr systemctl는 systemd를 모니터링하고, 컨트롤하는 가장 중요한 유틸리티이다. 앞선 hedone21.tistory.com/18 포스트에서는 가장 많이 사용되는 systemctl 명령어에 대해 간단히 알아보았다면, 이번 포스트에서는 systemctl로 할 수 있는 다양한 작업들에 대해 살펴보려 한다. 용어정리 이번 포스트에서 주구장.. 2021. 3. 22.
0. 전통적인 리눅스/Unix IPC 방법들 D-Bus는 리눅스 상에서 프로세스간 통신(IPC)를 지원하는 메시지 버스 서비스이다. D-Bus를 통해서 리눅스 어플리케이션은 다른 어플리케이션들에 Broadcast를 날릴 수 있고, 또한 상대방의 PID를 알지 못하더라도 1:1 통신을 할 수 있다. 또한 D-Bus 통신은 통일성 있게 규격화된 xml 형태로 이뤄진다. 이러한 특징들을 통해서 D-Bus는 전통적인 리눅스 IPC의 한계를 극복하고, 어플리케이션 수준에서 가장 많이 사용되는 IPC 통신 방법이 되었다. D-Bus에 대해 본격적으로 살펴보기 앞서, 이번 포스트에서는 리눅스에서 전통적으로 사용되던 IPC들의 특징 및 장단점을 간단히 살펴보고, 전통적인 IPC 방법들이 공통적으로 가지고 있는 문제점에 대해서 살펴보도록 하겠다. 0.1 Unix/.. 2021. 3. 22.
2. Systemd 기본 개념잡기 (2/2) 같은 카테고리의 글 보기 www.kernelpanic.kr/category/%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4%20%EC%9D%BD%EA%B8%B0/Init%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20-%20Systemd '오픈소스 읽기/Init 시스템 - Systemd' 카테고리의 글 목록 www.kernelpanic.kr 2.3 프로세스 관리 앞 포스트에서 Init은 서비스를 실행한다고 하였다. 실행된 서비스는 항상 Init만을 부모 프로세스로 가진다. 따라서 일반적으로 우리가 쉘에서 프로그램 실행 / 종료를 하듯이 해당 서비스를 종료하거나, 재시작하기 까다롭다. (nohup, 시그널 등을 활용하면 가능하기는 하다.) 또한 쉘 프로그램에서는 서비스 프로그램.. 2021. 3. 18.
2. Systemd 기본 개념잡기 (1/2) 같은 카테고리의 글 보기 www.kernelpanic.kr/category/%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4%20%EC%9D%BD%EA%B8%B0/Init%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20-%20Systemd '오픈소스 읽기/Init 시스템 - Systemd' 카테고리의 글 목록 www.kernelpanic.kr 2.1 Systemd 특징 Systemd는 최근 가장 보편적으로 사용되고 있는 Init 프로세스이다. 예전에는 Init프로세스로 SysV가 주로 사용되었고, 우분투는 Upstart를 사용했었다. 하지만 SysV와 Upstart는 단점을 가지고 있었고, 오늘날 Systemd로 대체되었다. 그렇다면 Systemd의 무엇이 이와 같은 init의.. 2021. 3. 16.
1. Init 시스템이란 같은 카테고리의 글 보기 www.kernelpanic.kr/category/%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4%20%EC%9D%BD%EA%B8%B0/Init%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20-%20Systemd '오픈소스 읽기/Init 시스템 - Systemd' 카테고리의 글 목록 www.kernelpanic.kr 1.1 Init이란 Init은 리눅스 커널 부팅이 완료된 뒤 실행되는 첫 번째 프로세스다. 또한 동시에 Init은 커널이 직접 실행하는 유일한 프로세스다. 따라서 Init은 부모 프로세스를 가지지 않는 유일한 프로세스인 동시에, Init을 제외한 나머지 모든 프로세스의 조상이 된다. 이러한 특징으로 인해 Init은 아래와 같은 작업들을 수.. 2021. 3. 13.