× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
令和SECCONに参加するのでTSURUGI Linuxを入れてみました。
fluxboxに切り替えて「fbmenugen」を使ったら「Other」に「TSURUGI」メニューが全て入ってカテゴリが分からなくなってしまいました。 仕方がないのでpythonでmateからfluxboxのmenuに変換するプログラムを作成、すっきりしましたとさ。 ■変換用python import sys from xml.dom import minidom from os import path from collections import OrderedDict APP_Directory = None DIR_Directory = None def main(): global APP_Directory global DIR_Directory if len(sys.argv)!=2: print("Using: {} mate.conf".format(sys.argv[0])) return fileName = sys.argv[1] APP_Directory = path.abspath(path.dirname(fileName)+"/../applications") DIR_Directory = path.abspath(path.dirname(fileName)+"/../desktop-directories") print(fileName) with open(fileName, "r", True, "UTF-8") as r: x = "\n".join(r.readlines()) myDom = minidom.parseString(x) recurseDict(myDom, 0, []) def recurseDict(dic, layer, stack): #dic = minidom.parseString("") layer+=1 if sum(1 for x in dic.childNodes if not isinstance(x, minidom.Text)): if dic.nodeName != "Layout": for d in dic.childNodes: if not isinstance(d, minidom.Text): recurseDict(d, layer, stack) else: if dic.nodeName == "Directory": lidx = 0 for lidx in range(len(stack), 0, -1): if layer > stack[lidx-1][0]: break for _ in range(lidx, len(stack)): stack.pop() print("{}[end]".format(" "*(len(stack)*2))) v = readFile(DIR_Directory+"/"+dic.childNodes[0].nodeValue) print("{}[submenu] ({}) <{}>".format(" "*(len(stack)*2), v["Name"], v["Icon"])) stack.append((layer, v)) if dic.nodeName == "Filename": v = readFile(APP_Directory+"/"+dic.childNodes[0].nodeValue) print("{}[exec] ({}) {{{}}} <{}>".format(" "*(len(stack)*2), v["Name"], v["Exec"], v["Icon"])) if layer==1: for _ in range(len(stack)): stack.pop() print("{}[end]".format(" "*(len(stack)*2))) def readFile(fileName): with open(fileName, "r", True, "UTF-8") as r: rec=dict() while True: line = r.readline() if line=="": break line = line[:-1] pos = line.find("=") if pos >=0: key = line[0:pos] if ["Icon", "Name", "Exec"].count(key): rec[key] = line[pos+1:] return rec if __name__ == "__main__": main()■fbmenugenにinclude機能を追加 diff --git a/fbmenugen b/fbmenugen index 84e268b..fa5e784 100755 --- a/fbmenugen +++ b/fbmenugen @@ -401,6 +401,14 @@ ITEM_WITH_ICON ITEM } +sub prepare_include { + my $path= shift() =~ s/\)/\\)/gr; + + return <<"EOF" + [include] ($path) +EOF +} + sub begin_category { $with_icons ? <<"MENU_WITH_ICON" @@ -479,6 +487,9 @@ foreach my $schema (@$SCHEMA) { elsif (exists $schema->{item}) { $generated_menu .= prepare_item(@{$schema->{item}}); } + elsif (exists $schema->{include}) { + $generated_menu .= prepare_include(@{$schema->{include}}); + } elsif (exists $schema->{sep}) { $generated_menu .= "[separator]\n"; } diff --git a/schema.pl b/schema.pl index 18a824a..50ae0dd 100644 --- a/schema.pl +++ b/schema.pl @@ -5,6 +5,7 @@ =for comment item: add an item inside the menu {item => ["command", "label", "icon"]}, + include: add include another file {include => ["path"]}, cat: add a category inside the menu {cat => ["name", "label", "icon"]}, sep: horizontal line separator {sep => undef}, {sep => "label"}, raw: any valid Fluxbox menu entry {raw => q(...)}, PR |
CUPSのいつもの設定
■/etc/cups/cupsd.conf ...
# Restrict access to the admin pages...
<Location /admin>
Require user @SYSTEM
Order allow,deny
</Location>
...
■cups-pdfのインストール sudo apt install cups-pdf ■/etc/cups/cups-pdf.conf ... ### Key: Out (config) ## CUPS-PDF output directory ## special qualifiers: ## ${HOME} will be expanded to the user's home directory ## ${USER} will be expanded to the user name ## in case it is an NFS export make sure it is exported without ## root_squash! ## on Ubuntu, the cupsd AppArmor profile needs to be updated ## to match the output path as per instructions in LP:147551 ### Default: /var/spool/cups-pdf/${USER} Out${HOME} ... ### Key: GSCall (config) ## command line for calling GhostScript (!!! DO NOT USE NEWLINES !!!) ## MacOSX: for using pstopdf set this to %s %s -o %s %s ### Default: %s -q -dCompatibilityLevel=%s -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile="%s" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress -c .setpdfwrite -f %s GSCall /usr/local/bin/cups-pdf-common %s %s "%s" %s ... ■/usr/local/bin/cups-pdf-common #!/bin/bash export MY_GS=$1 export MY_VER=$2 HOME=$(dirname "$3") USER=$(basename ${HOME}) export MY_IN=$4 export MY_OUT=$(basename "$3") execpath=~/bin/cups-pdf if [ -f ${execpath} ] then ${execpath} fi ■~/bin/cups-pdf #!/bin/bash #Ps2PDF ${MY_GS} -q -dCompatibilityLevel=${MY_VER} -dNOPAUSE -dBATCH -dSAFER -sDEVICE=pdfwrite -sOutputFile="${HOME}/PDF/$(date +%Y%m%d_%H%M%S.%N)_${MY_OUT}" -dAutoRotatePages=/PageByPage -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -dPDFSETTINGS=/prepress -c .setpdfwrite -f ${MY_IN} |
GRUB2でメニューの表示の仕方
※GRUB_HIDDEN_TIMEOUT_QUIETは関係ありません。 /etc/default/grub GRUB_DEFAULT=0 GRUB_DISABLE_SUBMENU=y GRUB_TIMEOUT_STYLE=menu GRUB_TIMEOUT=3 |
リカバリの仕方
# mount -t /dev/mapper/VG-LV root # mount --bind /dev root/dev # mount -t tmpfs tmpfs root/run # mount -t proc proc root/proc # mount -t sysfs sysfs root/sys # chroot root■参考文献 http://www.linuxfromscratch.org/lfs/view/stable-systemd/chapter06/kernfs.html |
以下、スペック
----------------------------------------------------------- 【商品ID】611820 【商品名】STYLE-15FH038-i5-UHEX [OS LESS] ----------------------------------------------------------- 【保証】1年間無償保証 【下取りサービス】下取りサービスなし 【天板ロゴ】天板ロゴ(iiyama)有り 【OS】OSなし(OSに関するサポートは無くなります。) 【アンチウィルス・セキュリティ対策ソフト】ノートンセキュリティ 30日間体験版 プリインストール※OSなしを選択の場合はインストールされておりません。 【プロセッサー】インテル(R) Core i5-8250U プロセッサー (1.6-3.4GHz/4コア/8スレッド/6MBキャッシュ/TDP15W) 【メインメモリ】DDR4-2400 4GB/SO-DIMM×2(デュアルチャンネル/計8GB) 【M.2 SSD[OSインストール]】250GB SSD / NVMe M.2[PCI Exp.3.0×4] 【HDD/SSD[追加1]】2TB HDD / 2.5インチ Serial-ATA 【光学式ドライブ】8倍速DVDスーパーマルチドライブ 【チップセット】CPU統合チップセット 【グラフィックアクセラレーター】インテル(R) UHD Graphics 620(CPU統合グラフィックス) 【サウンド機能】High Definition Audio subsystem 【無線LAN】IEEE802.11 ac/a/b/g/n対応ワイヤレスLAN + Bluetooth 4.2 [本体内蔵] 【液晶ディスプレイ】15.6型 フルHD(1920×1080ドット)対応非光沢カラー液晶 【スピーカー】内蔵ステレオスピーカー 【WEBカメラ】100万画素カメラ搭載 [本体内蔵] 【PCリサイクル】家庭系パソコン(PCリサイクル料金込み、回収再資源化料金不要) |
忍者ブログ [PR] |