Luakit Extensible Micro Browser
Fellow control freaks, if you enjoy having dominion over just about every aspect of a program, I think you'll like this. Inspired by projects such as uzbl, and developed by fellow Perth-boy Mason Larobina, luakit is the Web browser for those who like the element of control. According to the Web site:
luakit is a highly configurable, micro-browser framework based on the WebKit Web content engine and the GTK+ toolkit. It is very fast, extensible by Lua and licensed under the GNU GPLv3 license.
It is primarily targeted at power users, developers and any people with too much time on their hands who want to have fine-grained control over their Web browser's behavior and interface.
It's hard to notice the discreet tabs, with black for active and gray for inactive, but they're very cool.
This lightweight browser seems to run YouTube with Flash just as well as Firefox and Chrome.
Project code that's both documented and diagrammed—now I've seen everything!
Pre-made packages/binaries are available on the Web site for Gentoo, Arch Linux, Debian/Ubuntu and Fedora, along with the source code.
As for library requirements, the documentation says you need the following:
lfs (lua filesystem).
On my Kubuntu system, the lfs package was called liblua5.1-filesystem0. If you're using the source and running into dependency errors, it's worth trying out the above libraries' development packages (usually named -dev) and doing the luakit installation again.
If you're running with the source, grab the latest tarball from the Web site, extract it, and open a terminal in the new folder. Enter the command:
I'm not sure what resources Mason has used here, but this make script is kind of like a cross between ./configure and make, combining the two—interesting. If you run into any errors here, chances are that you're missing a library dependency somewhere; pay close attention to the output.
Finally, to install luakit, if your distro uses sudo, enter:
$ sudo make install
If your distro uses root, enter:
$ su # make install
The actual interface is rather unique. Like the lovechild of Chrome and Vim, the interface is part sleek and modern-minimalist, part old-school hacker. Entering a URL or even clicking Back may leave the uninitiated a little shocked, as the GUI elements one takes for granted are seemingly nonexistent. However, the two main UI elements unlock them immediately: right-clicking and the input bar.
Starting with the input bar, you can enter URLs with o, t or w to open URLs in the same tab, a new tab or a new window, respectively. Right-clicking provides controls like Back, Forward, Stop and so on.
On the subject of tabs, not only was I impressed by their presence in this lightweight browser, but they're also by far the coolest tabs I ever have seen. They nearly blend into the background (perhaps part of their mystique), and at first I didn't even notice their presence. Open some new tabs with t, and the tabs at the top of the browser start dividing evenly, with the active tab a strong black, and the inactive tabs techy-gray.
Much to my surprise (given luakit's minimalist nature) Flash appeared to work without any worries, with YouTube as my first test. Indeed, many pages I thought wouldn't stand a chance, loaded in a way that was both accurate and stable.
Nevertheless, the actual browsing aspect is only half the equation when considering luakit, whose real appeal lies in its endless customizability. The entire browser is constructed by a series of config files, which do all kinds of things, like change what parts of the browser are loaded and in which order, define button combinations and so on.
Regarding this, Mason gave a great response to one of my leading questions that was long and detailed, and it will appeal to anyone who knows what they're doing. Check the Web site if you want to see it.
For the modder who is about jump into coding, luakit's Web site has something I've never actually come across. Unlike 99% of us who just start coding randomly, the Web site has a whole Data Structure Index, explaining each file with flowcharts and documented references—the way we were taught but always avoided!
If any programmers are looking to help out with luakit, Mason recommends porting a Firefox or Chrome plugin that you can't live without. A simple method for ad-blocking also would be greatly appreciated.
At the end of the day, this is one of those projects that will inspire great loyalty among its fans with its own unique style. And if any film-makers working on a hacker movie are reading this and looking for a browser that looks Neo-from-The-Matrix cool, this is the one.
luakit Keyboard Commands
These are the most important bindings for basic usage (see the documentation for more):
i — insert mode.
: — command mode.
Ctrl-z — passthrough mode.
o — open URL.
t — open URL in new tab.
w — open URL in new window.
d/Ctrl-w — close tab.
D/ZQ — close window.
ZZ — save session and close window.
Read more: http://luakit.org/projects/luakit/
John Knight is the New Projects columnist for Linux Journal.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- The Qt Company's Qt Start-Up
- Devuan Beta Release
- May 2016 Issue of Linux Journal
- EnterpriseDB's EDB Postgres Advanced Server and EDB Postgres Enterprise Manager
- The US Government and Open-Source Software
- Open-Source Project Secretly Funded by CIA
- The Death of RoboVM
- The Humble Hacker?
- New Container Image Standard Promises More Portable Apps
- BitTorrent Inc.'s Sync
In modern computer systems, privacy and security are mandatory. However, connections from the outside over public networks automatically imply risks. One easily available solution to avoid eavesdroppers’ attempts is SSH. But, its wide adoption during the past 21 years has made it a target for attackers, so hardening your system properly is a must.
Additionally, in highly regulated markets, you must comply with specific operational requirements, proving that you conform to standards and even that you have included new mandatory authentication methods, such as two-factor authentication. In this ebook, I discuss SSH and how to configure and manage it to guarantee that your network is safe, your data is secure and that you comply with relevant regulations.Get the Guide