2025-09-30

My .fbtermrc

My .fbtermrc D2Coding fontsize font-width font-height Setting

# Lines starting with '#' are ignored.
# Note that end-of-line comments are NOT supported, comments must be on a line of their own.

# font family names/pixelsize used by fbterm, multiple font family names must be seperated by ','
# and using a fixed width font as the first is strongly recommended
font-names=D2Coding
font-size=20

# force font width (and/or height), usually for non-fixed width fonts
# legal value format: n (fw_new = n), +n (fw_new = fw_old + n), -n (fw_new = fw_old - n)
font-width=10
font-height=24

# default color of foreground/background text
# available colors: 0 = black, 1 = red, 2 = green, 3 = brown, 4 = blue, 5 = magenta, 6 = cyan, 7 = white
color-foreground=7
color-background=0

# max scroll-back history lines of every window, value must be [0 - 65535], 0 means disable it
history-lines=1000

# up to 5 additional text encodings, multiple encodings must be seperated by ','
# run 'iconv --list' to get available encodings.
text-encodings=

# cursor shape: 0 = underline, 1 = block
# cursor flash interval in milliseconds, 0 means disable flashing
cursor-shape=0
cursor-interval=500

# additional ascii chars considered as part of a word while auto-selecting text, except ' ', 0-9, a-z, A-Z
word-chars=._-

# change the clockwise orientation angle of screen display
# available values: 0 = 0 degree, 1 = 90 degrees, 2 = 180 degrees, 3 = 270 degrees
screen-rotate=0

# specify the favorite input method program to run
input-method=

# treat ambiguous width characters as wide
#ambiguous-wide=yes

2026 trend korea horse power

2025.09.29. 19:30 교보문고 전미영 발표

2026 trend
2026 trend

horse power
HORSE POWER

2026 treand: HORSE POWER
Human in the loop
Oh my feelings! The Feelconomy
Result on Demand: Zero click
Self Directed Preparation Peady core
Efficient organizations through AI Transformation
Pixelated Life
Observant Consumers: Price Decoding
Widen your Health intelligence
Everyone is anisland the 1.5 Households
Returning to the Fundamentals

책 내용을 옮기는 건 저작권 문제가 있어서... 책 보실 분은 사서 보셔요.
https://product.kyobobook.co.kr/detail/S000217467412

2025-09-28

fbterm input hangul success

fbterm 실행하면 한글이 잘 나온다. 그런데 입력은? 어렵다. 불가능하다는 얘긴 아님.

uim 설치해서 uim으로 설정. 환경 설정하는 건 GUI 도움 받음.

LANG=en_US.UTF-8 uim-pref-gtk 에서 설정하면 됨.

한영 전환 Ctrl-space 그런데 한글이 안 나옴. Shift-space 한영전환 안 됨 이거 저거 시도하다가 Ctrl-Space 로 한영 전환 성공. 그런데 한글 배열이 이상하게 나옴. 내가 영어 드보락 쓰는데 이것과 세벌식이 얽히면 이런 문제가. 이 설정 관련 시도는 앞으로 계속할 예정.

일단 콘솔에서 한글과 영어 다 나오게 하는 건 성공.

fbterm -- uim-fep -u byeoru 

이 명령으로 콘솔에서 한글 입력과 출력 성공.

한글이 이상하게 나오는 건 아래 글 참고해서 해결할 수 있을 듯.

https://sebuls.blogspot.com/2025/09/fcitx5-configtool.html



2025-09-27

When login: Not shown

이게 버그인지 아닌지는 모르겠는데 콘솔에서 Ctrl-D 여러번 치다 보면 login: 화면도 안 나오고 커서만 깜빡일 때가 있다.

아래와 같이 해주면 된다 tty1의 숫자를 2, 3, 4 등으로 바꾸면 해당 가상 콘솔에 login: 보여준다.

sudo systemctl restart getty@tty1.service

2025-09-26

fbterm give up. retry

fbterm 에서 한글 입력 해 보고자 fcitx5도 해보고, uim도 해 봤는데 한글 입력 안 됨.
일단 중지.
나중에 다시 시도 해 볼 생각은 있음.

일단 절반의 성공. 아래 링크.

2025-09-24

fcitx5-configtool Dvorak and 3beolsik

Debian 13으로 올리고  ibus-hangul 잘 쓰고 있다가 fcitx5-hangul 로 바꿈.

Ctrl-space로 한영 전환 되게 설정은 했다.
그런데 한글입력이 이상하다. 두벌식도, 세벌식도 아닌 요상한 배열

gemini chatgpt 검색 등등을 통해 해결.
그 문제의 원인은 뭐였냐면...설명이 쉽지 않네. 풀어서 얘기하면...
쿼티 기준으로 k 칠 때 한글ㄱ 나와야되는데 
Dvorak 기준으로 k 칠 때 한글ㄱ이 나오는 게 문제.

해결 방법은?
왼쪽 메뉴에서 한글. 그 아래에 있는 버튼 클릭. 그 아래 
시스템 키보드 자판 버튼 선택.
자판 영어(미국)
아래 그림 참고.

Dvorak 자판과 한글 자판 

저렇게 설정해서 잘 쓰고 있었는데 설정을 이리저리 건드리다 보니 한글 이라는 항목이 안 보임. 
* 한국어와 한글은 다름.

나중에 잘못한 듯. 아래 링크 참고해서 다시 시도해야 될듯.
https://forcecore.tistory.com/1434

2025-09-21

nabi REMOVED from testing

한글 입력기 나비가 사라집니다. 대안인 ibus가 있어서 큰 문제는 없을 겁니다.
https://tracker.debian.org/pkg/nabi

2025-09-20

ddtp

https://ddtp.debian.org/ddtss/index.cgi/ko
로그인 아이디
패스워드 입력하고
진행하면 됨.
My ID sebuls
비번은 당연히 비공개.
DDTP에 대한 설명은
https://www.debian.org/international/l10n/ddtp.ko.html

2025-09-14

xfce4-kbdleds work in debian 13

Debian 12에서 잘 되던 게 Debian 13 으로 올린 다음 안 된다.

NumLock 상태를 보여주는 플러그인.

여러 시행착오 끝에 해결 했는데 나중에 보니 답이 README.md에 있었네.

그게 왜 안 보였던 걸까?

https://github.com/oco2000/xfce4-kbdleds-plugin/blob/master/README.md

여기서 

./autogen.sh
./configure --prefix=/usr
sudo make install

이것만 보고 따라 하다 왜 안 되지? 하고 여기 저기 헤매다가 바로 아래 줄에 있는 걸 못 봤네요.

./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu

이 한 줄을 무심히 넘겼다가 수많은 시행착오의 반복.

--libdir=/usr/lib/x86_64-linux-gnu 이 한 줄 안 쓴 것 때문에 설치 다 된 플러그인이 화면에 안 나타남.

헤매면서 이것 저것 얻은 것도 많긴 하다.

lks-indicator

Debian 12에서 잘 쓰던게 13으로 올리니 안 되는 게 있다.

NumLock 상태를 보여주는 LED가 키보드에 없어서 프로그램 하나 설치해서 쓰던 게 있었는데... 그 프로그램에 13에서 안 된다.

대안 프로그램을 찾았다. lks-indicator

그런데 이 프로그램은 NumLock 켜지면 빨간색 꺼지면 녹색을 표시해준다. 

내 맘에 안 들어서 켜지면 녹색, 꺼지면 빨간색으로 되게 살짝 바꿈. 

바꾼 부분에 Sebul Change 라고 코멘트.

소스 코드를 여기에 그대로 붙이니 이상하게 나오네.

#!/usr/bin/env python

# -*- coding: utf-8 -*-

###########################################################

# Author: Serg Kolo <1047481448@qq.com>

# Date: July 16, 2012

# Purpose: Simple indicator of Caps, Num, and Scroll Lock

#    keys for Ubuntu

#

# Written for: http://askubuntu.com/q/796985/295286

# Tested on: Ubuntu 16.04 LTS

# Color changed by Sebul See below. Tested on Debian 13. Sep 14, 2025

###########################################################

#

# Licensed under The MIT License (MIT).

# See included LICENSE file or the notice below.

#

# Copyright © 2016 Sergiy Kolodyazhnyy <1047481448@qq.com>

#

# Permission is hereby granted, free of charge, to any person obtaining a copy

# of this software and associated documentation files (the 'Software'), to deal

# in the Software without restriction, including without limitation the rights

# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell

# copies of the Software, and to permit persons to whom the Software is

# furnished to do so, subject to the following conditions:

#

# The above copyright notice and this permission notice shall be included in all

# copies or substantial portions of the Software.

#

# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE

# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE

# SOFTWARE.


import gi

gi.require_version('AyatanaAppIndicator3', '0.1')


from gi.repository import GLib as glib

from gi.repository import AyatanaAppIndicator3 as appindicator

from gi.repository import Gtk as gtk

import os

import subprocess

import argparse


class LockKeyStatusIndicator(object):


def __init__(self, show_all=False, ignore_keys=None, monochrome=False):


self.app = appindicator.Indicator.new('LKS', '',

  appindicator.IndicatorCategory.APPLICATION_STATUS)


self.app.set_status(appindicator.IndicatorStatus.ACTIVE)

self.monochrome = monochrome

self.show_all = show_all


self.app_menu = gtk.Menu()

self.quit_app = gtk.MenuItem('Quit')

self.quit_app.connect('activate', self.quit)

self.quit_app.show()

self.app_menu.append(self.quit_app)


if ignore_keys is None:

self.ignore_keys = []

else:

self.ignore_keys = ignore_keys


self.app.set_menu(self.app_menu)


self.app_path = os.path.dirname(os.path.realpath(__file__))

self.icon_path = self.app_path


if self.app_path == '/usr/bin':

self.icon_path = '/usr/share/lks-indicator/'

else:

self.icon_path = self.app_path


self.red_icon = os.path.join(self.icon_path, 'red.png')

self.green_icon = os.path.join(self.icon_path, 'green.png')

self.monochrome_icon = os.path.join(self.icon_path, 'lks-icon-monochrome.png')


self.update_label()


def run(self):


try:

gtk.main()

except KeyboardInterrupt:

pass



def quit(self, data=None):


gtk.main_quit()



def run_cmd(self, cmdlist):


try:

stdout = subprocess.check_output(cmdlist)

except subprocess.CalledProcessError:

   pass

else:

if stdout is not None:

return stdout.decode('utf-8').rstrip('\n')



def key_status(self):


label = ''

status = []

keys = {

'3'  : 'C',

'7'  : 'N',

'11' : 'S'

}


for line in self.run_cmd(['xset', 'q']).split('\n') :

if 'Caps Lock:' in line:

status = line.split()


for index in 3, 7, 11:

if keys[str(index)] in self.ignore_keys:

pass

elif status[index] == 'on':

label += ' [' + keys[str(index)] + '] '

elif self.show_all:

label += keys[str(index)]


return label



def update_label(self):


label_text = self.key_status()

if not self.monochrome:

if '[' in label_text:

self.app.set_icon(self.green_icon) # Sebul change

else:

self.app.set_icon(self.red_icon) # Sebul change

else:

self.app.set_icon(self.monochrome_icon)

label_text = label_text.replace('[C]',u'\u24B8')

label_text = label_text.replace('[N]',u'\u24C3')

label_text = label_text.replace('[S]',u'\u24C8')

self.app.set_label(label_text, '')

glib.timeout_add_seconds(1, self.set_app_label)



def set_app_label(self):


self.update_label()


def main():


arg_parser = argparse.ArgumentParser(

description='''lks-indicator - Indicates on/off status of Lock keys.''',

formatter_class=argparse.RawTextHelpFormatter)


arg_parser.add_argument(

'--show-all', action='store_true',

help='Show all keys in label', required=False)


arg_parser.add_argument(

'-m','--monochrome', action='store_true',

help='Use monochrome icon')


arg_parser.add_argument(

'--ignore-keys', type=str,

help='Ignore specified keys (C, N or S)',

nargs='+', required=False)


args = arg_parser.parse_args()


indicator = LockKeyStatusIndicator(

show_all=args.show_all, 

ignore_keys=args.ignore_keys,

monochrome=args.monochrome)


indicator.run()


if __name__ == '__main__':

main()

2025-09-13

9.5-9.8

2025.9.5 - 9.8 수안보 여행

수안보연수원, 충주박물관,  탄금대

영화식당: 여러가지 나물. 고기만 좋아하는 사람들은 아쉬울 수도. 나물만 나오는데 가격은 그리 싸지 않음.

청운식당: 수안보 주민이 추천한 꿩고기 집.