<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>방바닥 디자인</title>
    <link>https://infoarts.tistory.com/</link>
    <description>정보는 공유되어야 한다! 왜?</description>
    <language>ko</language>
    <pubDate>Sat, 22 Aug 2026 17:38:40 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>kyudoc</managingEditor>
    <item>
      <title>sudo 권한 추가하기</title>
      <link>https://infoarts.tistory.com/60</link>
      <description>&lt;p&gt;처음에 우분투를 설치하고 sudo를 사용하면 비밀번호를 입력해야만 사용할 수 있지요. 비밀번호를 입력하지 않고도 사용할 수 있도록 권한을 추가하는 방법 입니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;$ sudo visudo&lt;br /&gt;[sudo] password for &lt;i&gt;user&lt;/i&gt;:&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;한 번은 암호를 입력해야 합니다.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;%sudo 줄 아래(또는 마지막 줄)에 사용자를 추가하면서 NOPASSWD 옵션을 사용합니다.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;# Allow members of group sudo to execute any command&lt;br /&gt;%sudo ALL=(ALL:ALL) ALL&lt;br /&gt;&lt;i&gt;user&lt;/i&gt; ALL=(ALL:ALL) NOPASSWD:ALL&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;입력이 완료되었으면 Ctrl + x 키를 누르고 y를 눌러 저장합니다.&lt;/p&gt;</description>
      <category>TIP&amp;amp;TECH/리눅스</category>
      <author>kyudoc</author>
      <guid isPermaLink="true">https://infoarts.tistory.com/60</guid>
      <comments>https://infoarts.tistory.com/60#entry60comment</comments>
      <pubDate>Tue, 30 Mar 2021 17:16:43 +0900</pubDate>
    </item>
    <item>
      <title>SDL2_ttf 사용하기</title>
      <link>https://infoarts.tistory.com/59</link>
      <description>&lt;p&gt;제가 SDL 라이브러리와 함께 많이 쓰는 라이브러리에는 SDL_image, SDL_ttf, SDL_net이 있습니다. 그중에 SDL2_ttf를 이용하여 FreeType 폰트를 출력하는 방법을 알아보겠습니다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;SDL2_ttf 사이트: &lt;a href=&quot;https://www.libsdl.org/projects/SDL_ttf/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://www.libsdl.org/projects/SDL_ttf/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;먼저 실행 화면을 보시겠습니다. SDL 사용법은 이전 글을 참조하여 주십시오.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;0.png&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;518&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bVcZOl/btq1b9DOgwB/zNXwRndyTKKcED8gqUvjIk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bVcZOl/btq1b9DOgwB/zNXwRndyTKKcED8gqUvjIk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bVcZOl/btq1b9DOgwB/zNXwRndyTKKcED8gqUvjIk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbVcZOl%2Fbtq1b9DOgwB%2FzNXwRndyTKKcED8gqUvjIk%2Fimg.png&quot; data-filename=&quot;0.png&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;518&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;이전 글 참조: &lt;a href=&quot;https://infoarts.tistory.com/45&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;Visual C++에서 SDL2 라이브러리 사용하기&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;위 화면의 소스 코드입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1617019148716&quot; class=&quot;c++ arduino&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt;
#include &quot;SDL.h&quot;
#include &quot;SDL_ttf.h&quot;

#pragma comment(lib, &quot;SDL2main.lib&quot;)
#pragma comment(lib, &quot;SDL2.lib&quot;)
#pragma comment(lib, &quot;SDL2_ttf.lib&quot;)

SDL_Window* window;
SDL_Renderer* renderer;

int SDL_main(int argc, char* argv[])
{
	// Initialize SDL
	if (SDL_Init(SDL_INIT_VIDEO) &amp;lt; 0) {
		printf(&quot;Could not initialize SDL! (%s)\n&quot;, SDL_GetError());
		return -1;
	}

	// Initialize Font
	if (TTF_Init() &amp;lt; 0) {
		printf(&quot;Could not initialize font! (%s)\n&quot;, TTF_GetError());
		return -1;
	}

	// Create window
	window = SDL_CreateWindow(&quot;&quot;, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_OPENGL);
	if (window == NULL) {
		printf(&quot;Could not create window! (%s)\n&quot;, SDL_GetError());
		return -1;
	}

	// Create renderer
	renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED|SDL_RENDERER_PRESENTVSYNC|SDL_RENDERER_TARGETTEXTURE);
	if (renderer == NULL) {
		printf(&quot;Could not create renderer! (%s)\n&quot;, SDL_GetError());
		return -1;
	}

	// Clear renderer (white)
	SDL_SetRenderDrawColor(renderer, 255, 255, 255, SDL_ALPHA_OPAQUE);
	SDL_RenderClear(renderer);

	// Draw text
	TTF_Font* font = TTF_OpenFont(&quot;C:\\Windows\\Fonts\\gulim.ttc&quot;, 16);
	if (font == NULL) {
		printf(&quot;Could not open font! (%s)\n&quot;, TTF_GetError());
		return -1;
	}

	SDL_Color color = {255, 0, 255, SDL_ALPHA_OPAQUE};
	SDL_Surface* surface = TTF_RenderText_Blended(font, &quot;Test String&quot;, color);
	SDL_Texture* texture = SDL_CreateTextureFromSurface(renderer, surface);
	SDL_FreeSurface(surface);
	SDL_Rect r = {0, 0, surface-&amp;gt;w, surface-&amp;gt;h};
	SDL_RenderCopy(renderer, texture, NULL, &amp;amp;r);
	SDL_DestroyTexture(texture);
	TTF_CloseFont(font);

	// Update screen
	SDL_RenderPresent(renderer);

	SDL_Event event;
	int done = 0;

	while (!done) {
		SDL_PollEvent(&amp;amp;event);

		if (event.type == SDL_QUIT) {
			done = 1;
		}
	}

	SDL_DestroyRenderer(renderer);
	SDL_DestroyWindow(window);
	SDL_Quit();

	return 0;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;TTF 폰트를 열기위해 4가지 함수가 존재합니다.&lt;/p&gt;
&lt;pre id=&quot;code_1617072321013&quot; class=&quot;c++ arduino&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFont(const char *file, int ptsize);
extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFontIndex(const char *file, int ptsize, long index);
extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFontRW(SDL_RWops *src, int freesrc, int ptsize);
extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFontIndexRW(SDL_RWops *src, int freesrc, int ptsize, long index);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;TTF_OpenFont() 함수는 위 예제에서 사용하는 방법을 보여 드렸기에 넘어가고요.&lt;br /&gt;TTF_OpenFontIndex() 함수는 TTF 폰트 한 파일에 여러 개의 폰트가 존재할 경우 index에 어떤 폰트를 사용할지를 지정하여 선택해줍니다.&lt;/p&gt;
&lt;p&gt;TTF_OpenFontRW() 함수는 파일을 열고 닫는 API가 따로 있거나 ROM과 같은 메모리에 있을 때(또 다른 예는 폰트가 Visual C++라면 리소스에 있을 때) 폰트 데이터를 직접 지정하여 사용하는 함수입니다. 예를 들어 fopen와 같은 함수가 아니라 다른 방식으로 파일을 사용할 때 입니다.&lt;/p&gt;
&lt;pre id=&quot;code_1617074510605&quot; class=&quot;c++ arduino&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;	std::ifstream gulim(&quot;c:\\Windows\\Fonts\\gulim.ttc&quot;, std::ios::binary);

	gulim.seekg(0, std::ios_base::end);
	std::istream::pos_type file_size = gulim.tellg();
	gulim.seekg(0);

	std::vector&amp;lt;char&amp;gt; buffer(file_size);

	std::copy(std::istreambuf_iterator&amp;lt;char&amp;gt;(gulim), std::istreambuf_iterator&amp;lt;char&amp;gt;(), buffer.begin());

	SDL_RWops *ops_ctx = SDL_RWFromMem(&amp;amp;buffer[0], file_size);
	if (ops_ctx == NULL) {
		printf(&quot;SDL_RWFromMem() error! (%s)\n&quot;, SDL_GetError());
		return -1;
	}

	TTF_Font* font = TTF_OpenFontRW(ops_ctx, 0, 16);
	if (font == NULL) {
		printf(&quot;Could not open font! (%s)\n&quot;, TTF_GetError());
		return -1;
	}

	(... 중략 ...)

	TTF_CloseFont(font);
	SDL_RWclose(ops_ctx);
	gulim.close();&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;위 예제는 C++의 기능을 사용했지만 임베디드 시스템의 경우 C/C++ 표준 API가 아닌 시스템 고유의 API를 사용하지요. TTF_OpenFontRW() 함수는 그럴 때 사용할 수 있겠습니다.&lt;/p&gt;
&lt;p&gt;하지만, 일부러 폰트 데이터를 모두 읽어 메모리에 넣고 TTF_OpenFontRW() 함수를 사용하지는 마십시오. 폰트 데이터를 모두 읽어 메모리에 복사하는 과정에 시간이 꽤 소요됩니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;TTF_OpenFontIndexRW() 함수는 TTF_OpenFontIndex() 함수와 마찬가지로 폰트 인덱스를 지정할 수 있습니다.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;다음은 폰트를 렌더링하는 함수에는 대표적으로 3가지 종류가 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1617074965070&quot; class=&quot;c++ arduino&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Solid(TTF_Font *font, const char *text, SDL_Color fg);
extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Shaded(TTF_Font *font, const char *text, SDL_Color fg, SDL_Color bg);
extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Blended(TTF_Font *font, const char *text, SDL_Color fg);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;특징을 설명 드리기 앞서 각각의 함수를 사용한 화면을 보시겠습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;0.png&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;518&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dGB3G0/btq1qNL3zeJ/iSKb5nTDpV7FsRnn5vYVnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dGB3G0/btq1qNL3zeJ/iSKb5nTDpV7FsRnn5vYVnK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dGB3G0/btq1qNL3zeJ/iSKb5nTDpV7FsRnn5vYVnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdGB3G0%2Fbtq1qNL3zeJ%2FiSKb5nTDpV7FsRnn5vYVnK%2Fimg.png&quot; data-filename=&quot;0.png&quot; data-origin-width=&quot;656&quot; data-origin-height=&quot;518&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Solid 함수는 Font 데이터를 가공하지 않고 그대로 출력해줍니다. Shaded 함수는 그림자 효과가 있구요. 예제에서도 사용했던 Blend 함수는 Anti-aliasing이 적용되어 깔끔한 모습을 보여 줍니다.&lt;/p&gt;
&lt;p&gt;또, 텍스트 데이터는 Ansi, UTF-8, 유니코드 형태로 넘겨줄 수 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1617075660171&quot; class=&quot;c++ arduino&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Blended(TTF_Font *font, const char *text, SDL_Color fg);
extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUTF8_Blended(TTF_Font *font, const char *text, SDL_Color fg);
extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Blended(TTF_Font *font, const Uint16 *text, SDL_Color fg);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;이 외에도 문자열에 굵은 글씨, 이탤릭 스타일이나 밑줄을 그을 수 도 있고, 외각선을 넣을 수도 있습니다.&lt;/p&gt;
&lt;pre id=&quot;code_1617075873698&quot; class=&quot;c++ arduino&quot; data-ke-language=&quot;c++&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/* Set and retrieve the font style */
#define TTF_STYLE_NORMAL        0x00
#define TTF_STYLE_BOLD          0x01
#define TTF_STYLE_ITALIC        0x02
#define TTF_STYLE_UNDERLINE     0x04
#define TTF_STYLE_STRIKETHROUGH 0x08
extern DECLSPEC int SDLCALL TTF_GetFontStyle(const TTF_Font *font);
extern DECLSPEC void SDLCALL TTF_SetFontStyle(TTF_Font *font, int style);
extern DECLSPEC int SDLCALL TTF_GetFontOutline(const TTF_Font *font);
extern DECLSPEC void SDLCALL TTF_SetFontOutline(TTF_Font *font, int outline);&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;함수들에 대한 자세한 정보는 공식 사이트의 문서(&lt;a href=&quot;https://www.libsdl.org/projects/SDL_ttf/docs/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;링크&lt;/a&gt;)를 참조하여 보세요.&lt;/p&gt;</description>
      <category>프로그래밍/기타</category>
      <category>SDL</category>
      <author>kyudoc</author>
      <guid isPermaLink="true">https://infoarts.tistory.com/59</guid>
      <comments>https://infoarts.tistory.com/59#entry59comment</comments>
      <pubDate>Mon, 29 Mar 2021 21:03:51 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 쉘에서 tr 명령어를 사용해 대소문자 바꾸기</title>
      <link>https://infoarts.tistory.com/58</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;$ echo&amp;nbsp;&quot;abc&quot;&amp;nbsp;|&amp;nbsp;tr&amp;nbsp;'[a-z]'&amp;nbsp;'[A-Z]'&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ol style=&quot;list-style-type: decimal;&quot; data-ke-list-type=&quot;decimal&quot;&gt;
&lt;li&gt;abc를 ABC로&lt;/li&gt;
&lt;/ol&gt;</description>
      <category>TIP&amp;amp;TECH/리눅스</category>
      <author>kyudoc</author>
      <guid isPermaLink="true">https://infoarts.tistory.com/58</guid>
      <comments>https://infoarts.tistory.com/58#entry58comment</comments>
      <pubDate>Mon, 29 Mar 2021 19:25:38 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 메모리 정보 보기</title>
      <link>https://infoarts.tistory.com/57</link>
      <description>&lt;p&gt;1.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;$&amp;nbsp;cat&amp;nbsp;/proc/meminfo&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;예) 5초 간격으로 보고자 할 때&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;$ watch -n 5 cat /proc/meminfo&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;$ top&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;3.&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;$ free&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <author>kyudoc</author>
      <guid isPermaLink="true">https://infoarts.tistory.com/57</guid>
      <comments>https://infoarts.tistory.com/57#entry57comment</comments>
      <pubDate>Mon, 29 Mar 2021 19:24:22 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 명령어로 디렉터리 용량 확인하기</title>
      <link>https://infoarts.tistory.com/56</link>
      <description>&lt;p&gt;1. 특정 디렉터리 용량을 확인 할 때&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;$&amp;nbsp;du&amp;nbsp;-sh&amp;nbsp;&amp;lt;directory&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;2. 마운트된 디렉터리들 용량을 확인 할 때&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;$ df&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;결과 예시&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-filename=&quot;0.png&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;418&quot; data-ke-mobilestyle=&quot;widthContent&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6zf7J/btq1hahAtWm/KPjxAJphEfjpl0urkGXDQ0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6zf7J/btq1hahAtWm/KPjxAJphEfjpl0urkGXDQ0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6zf7J/btq1hahAtWm/KPjxAJphEfjpl0urkGXDQ0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6zf7J%2Fbtq1hahAtWm%2FKPjxAJphEfjpl0urkGXDQ0%2Fimg.png&quot; data-filename=&quot;0.png&quot; data-origin-width=&quot;661&quot; data-origin-height=&quot;418&quot; data-ke-mobilestyle=&quot;widthContent&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>TIP&amp;amp;TECH/리눅스</category>
      <author>kyudoc</author>
      <guid isPermaLink="true">https://infoarts.tistory.com/56</guid>
      <comments>https://infoarts.tistory.com/56#entry56comment</comments>
      <pubDate>Mon, 29 Mar 2021 19:22:31 +0900</pubDate>
    </item>
    <item>
      <title>리눅스에서 사용하고 있는 Input Device 정보 보기</title>
      <link>https://infoarts.tistory.com/55</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;#&amp;nbsp;cat&amp;nbsp;/proc/bus/input/devices&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <category>TIP&amp;amp;TECH/리눅스</category>
      <author>kyudoc</author>
      <guid isPermaLink="true">https://infoarts.tistory.com/55</guid>
      <comments>https://infoarts.tistory.com/55#entry55comment</comments>
      <pubDate>Mon, 29 Mar 2021 19:20:39 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 쉘 History 라인 개수 변경하기</title>
      <link>https://infoarts.tistory.com/54</link>
      <description>&lt;p&gt;/etc/profile 파일에서 HISTSIZE를 변경합니다.&lt;/p&gt;</description>
      <category>TIP&amp;amp;TECH/리눅스</category>
      <author>kyudoc</author>
      <guid isPermaLink="true">https://infoarts.tistory.com/54</guid>
      <comments>https://infoarts.tistory.com/54#entry54comment</comments>
      <pubDate>Mon, 29 Mar 2021 19:15:55 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 명령어로 절전 모드 진입하기</title>
      <link>https://infoarts.tistory.com/53</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;#&amp;nbsp;echo&amp;nbsp;standby&amp;nbsp;&amp;gt;&amp;nbsp;/sys/power/state&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <category>TIP&amp;amp;TECH/리눅스</category>
      <author>kyudoc</author>
      <guid isPermaLink="true">https://infoarts.tistory.com/53</guid>
      <comments>https://infoarts.tistory.com/53#entry53comment</comments>
      <pubDate>Mon, 29 Mar 2021 19:14:41 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 DebugFS 마운트하기</title>
      <link>https://infoarts.tistory.com/52</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;# mount -t debugfs none /sys/kernel/debug&lt;br&gt;# cat /sys/kernel/debug/gpio&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <category>TIP&amp;amp;TECH/리눅스</category>
      <author>kyudoc</author>
      <guid isPermaLink="true">https://infoarts.tistory.com/52</guid>
      <comments>https://infoarts.tistory.com/52#entry52comment</comments>
      <pubDate>Mon, 29 Mar 2021 19:13:18 +0900</pubDate>
    </item>
    <item>
      <title>리눅스 부팅 로고 파일 만들기</title>
      <link>https://infoarts.tistory.com/51</link>
      <description>&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 100%;&quot;&gt;$ pngtopnm logo.png &gt; logo.pnm (or $ jpegtopnm logo.jpg &gt; logo.pnm ...)&lt;br&gt;$ pnmquant 224 logo.pnm &gt; logo.ppm&lt;br&gt;$ pnmnoraw logo.ppm &gt; logo_clut224.ppm&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <category>TIP&amp;amp;TECH/리눅스</category>
      <author>kyudoc</author>
      <guid isPermaLink="true">https://infoarts.tistory.com/51</guid>
      <comments>https://infoarts.tistory.com/51#entry51comment</comments>
      <pubDate>Mon, 29 Mar 2021 19:11:36 +0900</pubDate>
    </item>
  </channel>
</rss>