about:config
に追加することで, 再び使えるようになった.
middlemouse.contentLoadURL;true参考にしたページ
about:config
に追加することで, 再び使えるようになった.
middlemouse.contentLoadURL;true参考にしたページ
$ cat a.py a = 10 import code code.interact(local=globals()) print 'a=%d'%a print dir()インタプリタ内から変数にアクセスするには,
local=globals()
という引数を与える.
上記のようなスクリプトを実行する.
$ python a.py ... (InteractiveConsole) >>> a 10 >>> a = 20 >>> b = 30 >>> Ctrl-D ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'a', 'b', 'code']例えば, 予め定義した
a
という変数を参照・上書きでき,
新たな変数 b
を定義できる.
$ xinput --create-master tpx $ xinput --create-master usbThinkpadのキーボード・マウスをマスターtpxに割り当てる.
$ xinput --reattach 'AT Translated Set 2 keyboard' 'tpx keyboard' $ xinput --reattach 'TPPS/2 IBM TrackPoint' 'tpx pointer'これで, 2個のポインターが出てくる. 上記の設定で, 構成は以下のようになる.
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Microsoft Microsoft® Nano Transceiver v1.0 id=14 [slave pointer (2)] ⎜ ↳ Microsoft Microsoft® Nano Transceiver v1.0 id=16 [slave pointer (21)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=11 [slave keyboard (3)] ↳ Topre Corporation HHKB Professional id=13 [slave keyboard (22)] ↳ Microsoft Microsoft® Nano Transceiver v1.0 id=15 [slave keyboard (3)] ⎡ tpx pointer id=17 [master pointer (18)] ⎜ ↳ TPPS/2 IBM TrackPoint id=10 [slave pointer (17)] ⎜ ↳ tpx XTEST pointer id=19 [slave pointer (17)] ⎣ tpx keyboard id=18 [master keyboard (17)] ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (18)] ↳ tpx XTEST keyboard id=20 [slave keyboard (18)]Virtual core pointerに属するマウスでウィンドウの移動などを行える. 他のマスターで, ウィンドウをクリックしてフォーカスするウィンドウを選び, キーボード・マウスでそのウィンドウの操作ができる.
setxkbmap
を使用する.
このコマンドは, どのディバイスに対して適用するかを指定できる.
まず, キーを入れ替えるための設定ファイルを用意する.
$ cat /usr/share/X11/xkb/keycodes/swapctrlcaps default xkb_keycodes "swapctrlcaps" { <LCTL> = 66; <CAPS> = 37; }; $ cat /usr/share/X11/xkb/keycodes/swapbacks default xkb_keycodes "swapbacks" { <BKSL> = 22; <BKSP> = 51; };これで, 以下のコマンドにより, qwerty配列に対して上記のキー入れ替えができる.
$ setxkbmap -keycodes 'evdev+aliases(qwerty)+swapbacks+swapctrlcaps'次に,
xinput
を使用して, 接続されたディバイスの一覧を取得する. (空白などを改変した)
$ xinput Virtual core pointer id=2 [master pointer (3)] Virtual core XTEST pointer id=4 [slave pointer (2)] TPPS/2 IBM TrackPoint id=10 [slave pointer (2)] Virtual core keyboard id=3 [master keyboard (2)] Virtual core XTEST keyboard id=5 [slave keyboard (3)] Power Button id=6 [slave keyboard (3)] Video Bus id=7 [slave keyboard (3)] Sleep Button id=8 [slave keyboard (3)] AT Translated Set 2 keyboard id=9 [slave keyboard (3)] ThinkPad Extra Buttons id=11 [slave keyboard (3)] Topre Corporation HHKB Professional id=13 [slave keyboard (3)]このうち,
AT Translated Set 2 keyboard
だけに, キーコードの変更を行う.
setxkbmap -device 9 -keycodes 'evdev+aliases(qwerty)+swapbacks+swapctrlcaps'これをスクリプトにすると, 以下のようになる.
for id in $(xinput | awk '/AT Translated Set.*id=[1-9]/{print gensub(/.*id=([0-9]*).*/,"\\1",1)}'); do setxkbmap -device $id -keycodes 'evdev+aliases(qwerty)+swapbacks+swapctrlcaps' done
-symbols
を使用する.
以下の例では, id=9 に日本語, id=13 に英語の配列を割り当てる.
setxkbmap -device 9 -symbols 'pc+jp+inet(evdev)' setxkbmap -device 13 -symbols 'pc+us+inet(evdev)'
$ sudo dnf install lightdm lightdm-gdk $ sudo systemctl enable lightdm.service $ sudo systemctl start lightdm.serviceパッケージ lightdm をインストールするだけでは, グラフィカルログインが有効にならない. systemctl で lightdm.service を有効にする設定をする.
sudo rpm -Va変更されたファイルが出力される. フラグの「S」はサイズ違い, 「5」はMD5違い.
rpm -qf /path/to/file sudo yum reinstall package_name
prelink
というツールがインストールされていると,
バイナリファイルに共有オブジェクトをリンクしてしまう. rpm -Va
ではprelinkの変更を戻してからmd5をチェックするらしい.
何らかの理由で同じパッケージの異なるバージョンがインストールされてしまった場合,
以下のコマンドでそのようなパッケージを探すことができる.
rpm -qa --qf '%{NAME}\n' | sort | uniq -c | grep -v '^ *1 '
sudo yum install tftp-server xinetd
sudoedit /etc/xinetd.d/tftp以下のように太字の2箇所を設定する. Disableをyesからnoに変更する. ログを見やすくするため, server_argsに-vを追加する.
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -v -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
sudo service xinetd restart
sudoedit /etc/sysconfig/iptables以下の1行を追加する. PXEではUDPでリクエストが来るので, TCPは開放せず, UDPを開放する.
-A INPUT -p udp -m udp --dport tftp -j ACCEPT設定が済んだら, iptablesを再起動して設定を読み込む.
sudo service iptables restart
sudoedit /etc/dhcp/dhcpd.conf2個の設定 (next-serverとfilename) を追加する. Next-serverで指定するのがTFTPが動いているサーバのアドレス. Filenameで指定するのがPXEで最初に読み込むファイル. (後で取得方法を説明)
authoritative; default-lease-time 3600; max-lease-time 14400; log-facility local7; subnet 192.168.xx.0 netmask 255.255.255.0 { range 192.168.xx.y1 192.168.xx.y2; option domain-name-servers 8.8.4.4,8.8.8.8; option routers 192.168.xx.1; # for PXE boot next-server 192.168.xx.yy; filename "pxelinux/pxelinux.0"; }設定が済んだら, dhcpdを再起動する.
sudo service dhcpd restart
cd /tmp wget .../syslinux-4.05-13.el7.x86_64.rpm
mkdir /tmp/syslinux rpm2cpio syslinux-4.05-13.el7.x86_64.rpm | cpio -dimv
mkdir /var/lib/tftpboot/pxelinux cp /tmp/syslinux/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux/ cp /tmp/syslinux/usr/share/syslinux/*.c32 /var/lib/tftpboot/pxelinux/
mkdir /var/lib/tftpboot/pxelinux/pxelinux.cfg/ vim /var/lib/tftpboot/pxelinux/pxelinux.cfg/default以下のように記載する.
default vesamenu.c32 prompt 1 timeout 600 display boot.msg label Scientific Linux 7.3 nouveau=0 menu label Install SL 7.3 without ^Nouveau menu default kernel ../sl73/images/pxeboot/vmlinuz append initrd=../sl73/images/pxeboot/initrd.img nouveau.modeset=0 inst.repo=ftp://.../scientific/7.3/x86_64/os label local menu label Boot from ^local drive localboot 0xffff label memtest86 menu label ^Memory test kernel memtest append -Kernelとinitrdは次の手順で準備する.
mkdir -p /var/lib/tftpboot/sl73/images/pxeboot
cd /var/lib/tftpboot/sl73/images/pxeboot wget ftp://.../scientific/7.3/x86_64/os/images/pxeboot/vmlinuz wget ftp://.../scientific/7.3/x86_64/os/images/pxeboot/initrd.img
label Scientific Linux Rolling nouveau=0 menu label Install SL ^Rolling without Nouveau menu default kernel ../sl7-rolling/images/pxeboot/vmlinuz append initrd=../sl7-rolling/images/pxeboot/initrd.img nouveau.modeset=0 inst.repo=ftp://ftp.jaist.ac.jp/pub/Linux/scientific/7rolling/x86_64/os/Kernelとinitrdを準備
$ mkdir sl7-rolling/ $ cd sl7-rolling/ $ wget -r -l 1 ftp://ftp.jaist.ac.jp/pub/Linux/scientific/7rolling/x86_64/os/images/ $ wget -r -l 1 ftp://ftp.jaist.ac.jp/pub/Linux/scientific/7rolling/x86_64/os/images/pxeboot/ $ mv ./ftp.jaist.ac.jp/pub/Linux/scientific/7rolling/x86_64/os/images/* ./
銀行 | 電信/小切手 | 手数料 | 外貨受取可能か? | USDのスプレッド | USDの金利 | メモ |
---|---|---|---|---|---|---|
三井住友信託銀行 | 電信のみ | 無料 | Yes | 0.41円 (?) | 0.3% 普通預金 1.55% 1年定期預金 |
|
ソニー銀行 | 電信送金 | 無料 | Yes | 0.15円 (往復) | 0.3% 普通預金 1.4% 2年定期預金 |
JP Morgan Chase銀行または三菱東京UFJ銀行を中継銀行として指定する必要あり |
新生銀行 | 電信送金 | 無料 | Yes | 0.30円 (往復) | 0.01% 普通預金 1.9% 3年定期預金 |
外貨預金の残高30万円以上でスプレッド0.18円 Linux上のFirefoxからアクセスできないページあり |
大和ネクスト銀行 | 電信のみ | 無料 | Yes | 0.50円 | 0.25% 普通預金 1.5% 3年定期預金 |
Citi bankを中継するらしい. 50,000USD (550万円くらい) 以上受け取ると手数料をキャッシュバック. |
SMBC信託銀行 | ||||||
横浜銀行 | 小切手 | 3000円/1枚 + 750円/1手続き | 円で受取 |
Old Inkscape files use 1in == 90px, CSS requires 1in == 96px. Drawings meant to match a physical size (e.g. Letter or A4) will be too small. Scaling the drawing can correct for this. Internal scaling can be handled either by setting the SVG 'viewBox' attribute to compensate or by scaling all objects in the drawing.というメッセージが出るようになった. 私の場合は, 回路図などを単位をpxにして10pxグリッドで描いていた. その設定を維持したかったので, Ignore を選べば良いことが分かった. あるいは, SVGをエディタで編集して, svgタグの属性
inkscape:version
を以下のように書き換えてもOK.
inkscape:version="0.92+devel unknown"
f
にはアクセスできるようだ.
>>> with open('/tmp/x.dat', 'w') as f: ... print f ... f.write('hello\n') ... <open file '/tmp/x.dat', mode 'w' at 0x7f9eaf982c00> >>> print f <closed file '/tmp/x.dat', mode 'w' at 0x7f9eaf982c00>上記は, Python 2.6.6 で試した.
\begin{table} \center \begin{tabular}{|c|c|c|} \hline & A & B \\\hline\hline a & \begin{tabular}{l} n: 0.0 -- 0.5 \\ p: 1.2 -- 0.7 \end{tabular} & \begin{tabular}{l} n: 0.0 -- 0.6 \\ p: 1.2 -- 0.6 \end{tabular} \\\hline \end{tabular} \end{table}出来上がり:
about:config
をURLとして打ち込み,
general.smoothScroll
をダブルクリックしてfalse
に設定する.
スムーズスクロールってこんなにデメリットがあると思う.
xinput list戻るボタン・左右スクロールに下の表のように機能を割り当てる場合, 以下の
xinput
コマンドで設定する.
xinput set-button-map 17 1 2 3 4 5 8 9 2 9 10 11 12 13 14 15 16なお, 上記の
17
は, xinput list
で出てくるIDを書く.
物理ボタン | 動作 |
---|---|
戻るボタン (8) | 中ボタン (2) |
左スクロール (6) | 戻る (8) |
右スクロール (7) | 進む (9) |
#! /bin/bash xinput list | grep 'Microsoft .* Nano Transceiver.*slave pointer' | sed 's/.*id=\([1-9][0-9]*\).*/\1/' | xargs -I{} xinput set-button-map {} 1 2 3 4 5 8 9 2 9 10 11 12 13 14 15 16なぜかNano Transceiverが2つ認識されるので, 両方に対して同じ設定を行う.
$ cat /usr/share/ghostscript/9.20/Resource/Init/cidfmap.ja /IPAexMincho << /FileType /TrueType /Path (/usr/share/fonts/ipa-mincho/ipam.ttf) /CSI [(Japan1) 6] >> ; /IPAexGothic << /FileType /TrueType /Path (/usr/share/fonts/ipa-ex-gothic/ipaexg.ttf) /CSI [(Japan1) 6] >> ;上記は,
cidfmap
に
(cidfmap.ja) .runlibfileifexistsという行が見つかったので, 日本語のために
cidfmap.ja
というファイルをインクルードしているのだろうと推測した.
もともと, cidfmap.ja
というファイルは見つからなかったので, cidfmap
と同じディレクトリに作成.
ipam.ttfとipaexg.ttfは, find /usr/share/fonts -name ipa*.ttf
でパスを探しだした.
9.20
の部分を新しくするべきなのだろう.
以下のコマンドでPDFを生成する.
platex -halt-on-error -recorder "main.tex" dvips -P pdf -o "main.ps" "main.dvi" ps2pdf -dPDFSETTINGS=/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true "main.ps" "main.pdf"生成したPDFのフォントを確認する:
$ pdffonts main.pdf name type encoding emb sub uni object ID ------------------------------------ ----------------- ---------------- --- --- --- --------- ... WWYGYS+IPAMincho CID TrueType H yes yes no 276 0 ...IPAMinchoが埋め込まれている (emb=yes) ようだ. 生成されるPSファイルには,
%%DocumentFonts: NimbusRomNo9L-Regu NimbusRomNo9L-Medi rtxr rtxmi %%+ NimbusRomNo9L-ReguItal IPAexMincho-H rtxb txsy txex Times-Roman %%+ Helvetica Symbol Times-Italic Courier Helvetica-Oblique %%+ NewCenturySchlbk-Roman Timesと書かれており,
IPAexMincho-H
があるので, IPAexMincho
を設定すれば十分なのだと思う.
以下のサイトを参考にした.
not は非ブール演算子よりも優先度が低いので、 not a == b は not (a == b) と解釈され、 a == not b は構文エラーです。Cでは
a == !b
はa == (!b)
と解釈されるので,
Pythonでも同様だと思っていたが, 構文エラーになるらしい.
>>> a = True >>> b = False >>> a == not b File "なお, Awkではこうなる:", line 1 a == not b ^ SyntaxError: invalid syntax >>> a == (not b) True
$ :| awk 'BEGIN { a=1; b=0; print a==b; print a==!b }' 0 1
機種 | OS | 購入日 |
---|---|---|
モトローラ M1000 (A1000のドコモ版) | Symbian | 2005年 |
HTC HT-03A (HTC Magicのドコモ版) | Android 1.6 → 2.3 | ? |
富士通 F-05D | Android 2.3 → 4.0 | 2012年3月 |
Sony Xperia Z5 | Android | 2016年6月 |
iPhone 8 | iOS | 2019年10月 |
# brctl show bridge name bridge id STP enabled interfaces br1 8000.000000000000 no br0 8000.106f3ff74ec1 no eth0 ath0
# brctl show bridge name bridge id STP enabled interfaces br1 8000.000000000000 no br0 8000.106f3ff74ec1 no eth0 eth1 ath0