Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Luakitのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Luakit
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:ウェブブラウザ]] [[en:Luakit]] [[tr:Luakit]] [https://luakit.github.io/ Luakit] は極めて高速かつ軽量で、柔軟性のあるウェブブラウザです。WebKit エンジンを使っています。Lua スクリプトでカスタマイズすることができ、キーボードショートカットで完全に操作することが可能です。オリジナルのバージョンは更新が止まっておりセキュリティに問題がありますが、GTK+3 と WebKit2GTK+ を使用するフォークは活発に開発されています。 {{Warning|このページは更新されていますが、Luakit は現在急速に開発が進んでおり、矛盾が生じる可能性があります。また、ここに記載されている以外にも多くの文書があります。}} == インストール == 公式 Web サイトの推奨に従って、{{pkg|luakit}} パッケージまたは、開発版の {{AUR|luakit-git}} をインストールします。 == 基本的な使い方 == {{note|ほとんどのショートカットは {{ic|~/.config/luakit/binds.lua}} から確認することができ、カスタマイズも可能です。}} コマンドプロンプトにアクセスするには {{ic|:}} を押します。ほとんど全てのことはコマンドプロンプトから行えます。{{ic|Tab}} でコマンドを自動補完します。 {{ic|:help}} コマンドを使うことで利用可能なキーボードショートカットの情報を得ることができます (Lua で特定のキーボードショートカットのアクションがどうやって実装されているか確認するには、ヘルプテキストのどこかをクリックしてください)。 終了するには、{{ic|:quit}} コマンドを使って下さい。あるいは {{ic|Shift+z}} を押してから {{ic|Shift+q}} を押しても終了できます。また、{{ic|:writequit}} コマンドを使ったり、{{ic|Shift+z}} を2回押しても、ブラウザを終了できます。この場合、セッションが記録されます (つまり、タブが復元されます)。 === ブラウジング === * {{ic|o}} を押すとプロンプトが開くので {{ic|:open}} コマンドで開きたい URI を入力してください。現在の URI を編集するには {{ic|Shift+o}} を押します。 * URI と認識できなかった場合、Luakit は {{ic|~/.config/luakit/globals.lua}} で指定されたデフォルトの検索エンジンを使います。 * エントリの前に適当なキーワードを付けることで使用する検索エンジンを指定します (例: {{ic|:open google foobar}} なら Google で ''foobar'' を検索)。 * 一般的なショートカットで移動します。[[emacs]] や [[vim]] の''ファン''なら、標準的なショートカットが利用できます。マウスを使うこともできます。 * 表示されているリンクのインデックスを表示するには {{ic|f}} を使います。適当な数字や文字列の一部を入力するとリンクを開きます。 * {{ic|Shift+f}} を使うとリンクを新しいタブで開きます。 * {{ic|Ctrl+t}} を押すと新しいタブが開き、{{ic|Ctrl+w}} で閉じます。{{ic|t}} を押すと URI のプロンプトが表示され新しいタブで開かれます。{{ic|Shift+t}} で新しいタブで現在の URI を編集します。 * {{ic|w}} を押すと新しいウィンドウで開く URI のプロンプトが現れ、{{ic|Shift+w}} で新しいウィンドウで現在の URI を編集できます。 * {{ic|g}} を押してから {{ic|t}} あるいは {{ic|Shift+t}}、または {{ic|Ctrl+PageUp}} や {{ic|Ctrl+PageDown}} を使うことでタブを切り替えます。 * {{ic|Alt+''number''}} で指定したタブに切り替えられます。 * ブラウザ履歴を戻るには {{ic|Shift+h}} を使います。 * ブラウザ履歴を進むには {{ic|Shift+l}} を使います。 * {{ic|<}} と {{ic|>}} でタブの順番が変わります。 * {{ic|r}} でページをリロードして、{{ic|Ctrl+c}} でロードを中止します。 * 最後に閉じたタブをまた開くには {{ic|u}} です。 * {{ic|g}} を押してから {{ic|d}} でダウンロードページを開きます (または {{ic|Shift+d}} で新しいタブで開きます)。 * {{ic|y}} で URI をプライマリセレクションにコピーします。 * {{ic|:viewsource}} でページのソースコードを閲覧できます。通常ビューに戻るには {{ic|:viewsource!}} です。 * {{ic|;}} を押してから {{ic|i}} で画像のソースを表示します (または {{ic|Shift+i}} で新しいタブで開く)。 * {{ic|:inspect}} でエレメントを調査できます。再度実行すると新しいウィンドウで開きます。インスペクタの無効化は {{ic|:inspect!}} です。 === 入力フィールド === ドロップダウンリストやチェックボックス、テキストフィールドなど、編集できるエレメントが存在するウェブページは数多くあります。マウスで編集することもできますが、''follow'' コマンドを使った場合困ったことになるかもしれません。そのような場合、方向キーを押すことで問題を解決できます。もしくは {{ic|g}} {{ic|i}} ショートカットを使うことでも入力にフォーカスできます。 === ブックマーク === 有効にすることで (デフォルト設定)、Luakit の中からブックマークを使うことができます。 * {{ic|:bookmarks}} コマンドでブックマークのページが開きます (ショートカット: {{ic|g}} の後に {{ic|b}}、あるいは {{ic|Shift+b}} で新しいタブで開く)。 * {{ic|:bookmark [''URI'' [''tags'']]}} コマンドは指定した URI を指定したタグでブックマークに追加します (URI を省略した場合、現在のタブの URI が追加されます)。バージョン 2012-09-13-r1 から、ブックマークページは保存する前に新しいブックマーク編集モードで (新しいタブで) 開きます (ショートカット: {{ic|Shift+b}})。 == 設定 == === キーバインディング === ほとんどのバインディングには Luakit に関するある程度の知識が必要ですが、少なくとも次のことはできます。 簡単な再バインド: {{hc|~/.config/luakit/userconf.lua|2= local modes = require "modes" -- Creates new bindings from old ones. modes.remap_binds("normal", -- This is the mode in which the bindings are active. { -- new old removes the old binding (defaults to false) {"O", "t", true}, -- define as many as you wish {"Control-=", "zi"}, ... }) }} キーをコマンドにバインドするには、次のテンプレートを使用できます。 {{hc|~/.config/luakit/userconf.lua|2= modes.add_binds("normal", { -- {"<key>", -- "<description>", -- function (w) w:enter_cmd("<command>") end} {"O", "Open URL in a new tab.", function (w) w:enter_cmd(":tabopen ") end}, ... }) }} こちら {{ic|/usr/share/luakit/lib/binds.lua}} を参照してください。 バインディングが定義されています。 === ホームページ === ホームページは以下のように設定します: {{hc|~/.config/luakit/globals.lua|2= globals = { homepage = "www.example.com", ... } }} === カスタム検索エンジン === デフォルトの検索エンジンで検索するには、{{ic|o}} を押してから検索フレーズを入力します。別のエンジンを使って検索するときは、{{ic|o}} の後にエンジンの名前を入力してから、検索フレーズを入力してください。 どんな検索エンジンでも追加できます。追加したいウェブサイトで検索してから、検索キーワードを {{ic|%s}} に置き換えて、ウェブページの URI を Luakit の設定にコピーアンドペーストしてください。例: {{hc|~/.config/luakit/globals.lua|2= search_engines = { aur = "<nowiki>https://aur.archlinux.org/packages.php?O=0&K=%s&do_Search=Go</nowiki>", aw = "<nowiki>https://wiki.archlinux.org/index.php/Special:Search?fulltext=Search&search=%s</nowiki>", googleseceng = "<nowiki>https://www.google.com/search?name=f&hl=en&q=%s</nowiki>", ... } }} Luakit では変数が {{ic|:open}} コマンドのキーワードとして使われています。 同一のキーワードを使ってデフォルトの検索エンジンを設定します: {{hc|~/.config/luakit/globals.lua|2= search_engines.default = search_engines.aur }} === ダウンロードフォルダ === ダウンロードする場所を指定するには: {{hc|~/.config/luakit/rc.lua|2= -- Add download support require "downloads" require "downloads_chrome" -- Set download location downloads.default_dir = os.getenv("HOME") .. "/downloads" downloads.add_signal("download-location", function (uri, file) if not file or file == "" then file = (string.match(uri, "/([^/]+)$") or string.match(uri, "^%w+://(.+)") or string.gsub(uri, "/", "_") or "untitled") end return downloads.default_dir .. "/" .. file end) }} === Adblock === 複数のプラグインが利用できます。 [https://github.com/mason-larobina/luakit/wiki/AdBlock-Lua-module 公式ウェブサイトに載っている] Adblock プラグインを設定するには: * {{ic|~/.config/luakit}} に {{ic|adblock.lua}} と {{ic|adblock_chrome.lua}} ファイルを保存してください。 * {{ic|~/.config/rc.lua}} を編集して ''Optional user script loading'' と書かれたセクションに以下を追加: {{hc|~/.config/rc.lua| <nowiki>---------------------------------- -- Optional user script loading -- ----------------------------------</nowiki> require "adblock" require "adblock_chrome" ... }} * [https://easylist-downloads.adblockplus.org/easylist.txt Easylist] などの adblock 対応リストを取得して、{{ic|~/.local/share/luakit}} に保存してください。 * Luakit を再起動して拡張をロードします。 * Luakit の中で {{ic|:adblock-list-enable ''number''}} コマンドを使えばダウンロードした Adblock のリストが起動時に有効になります。 AdBlock の有効リストの情報は {{ic|:adblock}} や {{ic|luakit://adblock/}} の内部ページで {{ic|g}} {{ic|Shift+a}} を使うことで確認できます。ただし {{ic|adblock_chrome}} モジュールが有効になっている必要があります。これは必須ではありません。 {{Note|'''normal''' モードで AdBlock を使用するには {{ic|easylist.txt}} などを {{ic|~/.local/share/luakit/adblock}} に配置してください。}} Luakit の AdBlock プラグインは [https://github.com/mason-larobina/luakit-plugins/ Luakit Plugins] プロジェクトの一部として使うこともできます。 === ブックマークの管理 === ==== 同期 ==== バージョン 2012.09.13 から、Luakit のブックマークは SQLite データベースに保存されています: {{ic|~/.local/share/luakit/bookmarks.db}}。 デフォルトファイルの場所にシンボリックリンクを作成することでマシンのどこにでもブックマークを保存できます。Dropbox などのクラウド同期アプリケーションを使うことで、ブックマークを複数のコンピュータ間で同期させることも可能です。 ==== プレーンテキストのブックマークを SQLite フォーマットに変換 ==== ブックマークはシンプルなプレーンテキストファイルで保存されていました: {{ic|~/.local/share/luakit/bookmarks}}。各行がブックマークです。2つのフィールド ''link'' と ''group'' からなり、''tab'' 文字で区切られています。 {{Warning|タブの代わりに空白が挿入された場合、リンクは正しくブックマークされません。}} {{Note|グループとリンクはアルファベット順でソートされるため、手動で並び替える必要はありません。}} 最新の Luakit リリースでブックマークを使うには、ファイルを変換する必要があります。変換を行う Lua スクリプトのサンプル: {{hc|bookmarks_plain_to_sqlite.lua|<nowiki> local usage = [[Usage: luakit -c bookmarks_plain_to_sqlite.lua [bookmark plaintext path] [bookmark db path] ]] local old_db_path, new_db_path = unpack(uris) if not old_db_path or not new_db_path then io.stdout:write(usage) luakit.quit(1) end -- One-pass file read into 'data' var. old_db = assert(io.open(old_db_path, "r")) local data = old_db:read("*all") assert(old_db:close()) -- Init new_db, otherwise sqlite queries will fail. new_db = sqlite3{ filename = new_db_path } new_db:exec("CREATE TABLE IF NOT EXISTS bookmarks (id INTEGER PRIMARY KEY, uri TEXT NOT NULL, title TEXT NOT NULL, desc TEXT NOT NULL, tags TEXT NOT NULL, created INTEGER, modified INTEGER )") -- Fill local url,tag for line in data:gmatch("[^\n]*\n?") do if string.len(line) > 1 then print ("["..line.."]") -- Get url and tag (if present) from first line. _, _, url, tag = string.find(line, "([^\n\t]+)\t*([^\n]*)\n?") -- Optional yet convenient output. io.write(url) io.write("\t") io.write(tag) io.write("\n") -- DB insertion. Nothing will be overwritten. If URL and/or tag already exists, then a double is created. new_db:exec("INSERT INTO bookmarks VALUES (NULL, ?, ?, ?, ?, ?, ?)", { url, "", "", tag or "", os.time(), os.time() }) end end print("Import finished.") print("\nVacuuming database...") new_db:exec "VACUUM" print("Vacuum done.") luakit.quit(0) </nowiki>}} スクリプトの冒頭に書かれているように、Luakit で実行する必要があります: $ luakit -c bookmarks_plain_to_sqlite.lua ''path/to/plaintext/bookmark'' ''path/to/db'' 古いプレーンテキストのブックマークは変更を加えずに残します。DB ブックマークが存在しない場合、ファイルが作成されます。存在する場合、前のブックマークに手が加えられることはないので安心してください。ただし、ブックマークがダブる可能性はあります。 ==== Firefox からインポート ==== Firefox からブックマークをインポートするには、まずブックマークマネージャを使って HTML ファイルにエクスポートする必要があります。その後 XML ファイルを Luakit のフォーマットに変換することができます。 以下の awk コマンドのワンライナーで変換を行います: {{bc|<nowiki> $ cat bookmarks.html | awk ' {gsub(/\"/," ")} /<\/H3>/{FS=">";gsub(/</,">");og=g;g=$(NF-2);FS=" "} /<DL>/{x++;if(x>= 3)gl[x-3]=g} /<\/DL>/{x--;if(x==2)g=og"2"} /HREF/{gsub(/</," ");gsub(/>/," ");if(g!=""){if(og!=g){printf "\n";og=g};printf "%s\t",$4;if(x>=3){for(i=0;i<=x-4;i++){printf "%s-",gl[i]}printf "%s\n",gl[x-3]}else{printf "\n"}}}' </nowiki>}} スクリプトをもっと読みやすくしたバージョン: {{hc|ff2lk.awk|<nowiki> # Notes: 'folders' for Firefox bookmarks mean 'groups' for Luakit. # Put spaces where it is needed to delimit words properly. {gsub(/\"/," ")} # Since the folder name may have spaces, delimiter must be ">" here. /<\/H3>/ { FS=">" gsub(/</,">") oldgroup=group group=$(NF-2) FS=" " } # Each time a <DL> is encountered, it means we step into a subfolder. # 'count' is the depth level. # Base level starts at 2 (Firefox fault). # 'groupline' is an array of all parent folders. /<DL>/ { count++ if ( count >= 3 ) groupline[count-3]=group } # On </DL>, we step out. # If if return to the base level (i.e. not in a folder), then we give 'group' a fake name different # from 'oldgroup' to make sure a line will be skipped (see below). /<\/DL>/ { count-- if( count == 2 ) group=oldgroup"ROOT" } # The bookmark name. # If oldgroup is different than group, (i.e. folder changed) then we skip a line. # If we are in a folder, then we print the group name, i.e. all parents plus the current folder # separated by an hyphen. /HREF/ { gsub(/</," ") gsub(/>/," ") if (group != "") { if(oldgroup != group) { printf "\n" oldgroup=group } printf "%s\t",$4 if ( count >= 3 ) { for ( i=0 ; i <= count-4 ; i++ ) {printf "%s-" , groupline[i]} printf "%s" , groupline[count-3] } printf "\n" } }</nowiki> }} 以下のように実行してください: $ awk -f ff2lk.awk bookmarks.html >> bookmarks ==== ブックマークのエクスポート ==== 以下のスクリプトは Luakit のブックマークを SQLite フォーマットからプレーンテキストファイルにエクスポートします。作成されるファイルは他のウェブブラウザでも使うことができ、あるいはインポートスクリプトで簡単にパースできます。 {{hc|bookmarks_sqlite_to_plain.lua|<nowiki> -- USER CONFIG local sep = " " -- END OF USER CONFIG local usage = [[Usage: luakit -c bookmarks_sqlite_to_plain.lua [bookmark db path] [bookmark plain path] DB scheme is bookmarks ( id INTEGER PRIMARY KEY, uri TEXT NOT NULL, title TEXT NOT NULL, desc TEXT NOT NULL, tags TEXT NOT NULL, created INTEGER, modified INTEGER ); ]] local old_db_path, new_db_path = unpack(uris) if not old_db_path or not new_db_path then io.stdout:write(usage) luakit.quit(1) end -- One-pass file read into 'data' var. new_db = assert(io.open(new_db_path, "w")) -- Open old_db old_db = sqlite3{ filename = old_db_path } -- Load all db values to a string variable. local rows = old_db:exec [[ SELECT * FROM bookmarks ]] -- Iterate over all entries. -- Note: it could be faster to use one single concatenation for all entries, but -- it would be much more code and not so flexible. It is desirable to focus on -- clarity. After all, only a few hundred lines are handled. for _, b in ipairs(rows) do -- Change %q for %s to remove double quotes if needed. -- You can toggle the desired fields with comments. local outputstr = string.format("%q%s", b.uri or "", sep) .. string.format("%q%s", b.title or "", sep) .. string.format("%q%s", b.desc or "", sep) .. string.format("%q%s- ", b.tags or "", sep) .. ((b.created or "" ) .. sep) .. ((b.modified or "" ) .. sep) .. "\n" -- Write entry to file. new_db:write(outputstr) end print("Export done.") assert(new_db:close()) luakit.quit(0)</nowiki> }} スクリプトの冒頭に書かれているように、Luakit で実行する必要があります: $ luakit -c bookmarks_plain_to_sqlite.lua ''path/to/plaintext/bookmarks'' ''path/to/database'' === Tor === [[Tor]] をセットアップしたら、次を実行: $ torify luakit {{warning|匿名性を確保する、Luakit の設定で、Flash を無効にし UserAgent 文字列を変更するなどをしてください。}} === カスタム CSS === luakit のデータストレージディレクトリ内で {{ic|styles}} サブディレクトリを見つけます。 通常、これは {{ic|~/.local/share/luakit/styles/}} にあります。 ディレクトリがまだ存在しない場合は、作成します。 CSS ルールをディレクトリ内の新しいファイルに移動します。ファイル名は {{ic|.css}} で終わる必要があります。 スタイルシートが適用されるべきサイトを必ず指定してください。そのためには {{ic|@-moz-document}} ルールを使用します。Stylish の wiki ページ [https://github.com/stylish-userstyles/stylish/wiki/Applying-styles-to-specific-sites 特定のサイトにスタイルを適用する] が参考になるかもしれません。 {{ic|:styles-reload}} を実行して、新しいスタイルシートファイルを検出し、既存のスタイルシートファイルの変更を再読み込みします。 luakit を再起動する必要はありません。 スタイルメニューを開くには、{{ic|:styles-list}} コマンドを実行します。ここでできることは スタイルシートを有効/無効にしたり、テキストエディタでスタイルシートを開いたり、どのスタイルシートが有効かを表示したりできます。 スタイルシートがすべてのページで無効になっている場合、その状態は "Disabled" と表示されます。 スタイルシートがすべてのページに対して有効であるが、現在のページには適用されない場合、"Enabled" と表示されます。 現在のページには適用されない場合、その状態は "Enabled" と表示されます。スタイルシートが すべてのページに対して有効であり、かつ現在のページに適用される場合、その状態は "Active" と表示されます。 == 参照 == * [https://luakit.github.io/ ホームページ] * [http://shariebeth.com/computers/luakitcheatsheet.txt チートシート]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
Luakit
に戻る。
検索
検索
Luakitのソースを表示
話題を追加