How To Develop Websites On Linux

3. Geany

Unlike Gedit, Geany is more of a general purpose “minimalist” IDE than text editor. It already comes with such resources as an embed terminal, compiler tab, messages tab and note-taking tab (Scribble). You also have a side-pane listing of file symbols (i.e. classes and methods in Java files, sections and sub-sections in LaTeX files) and documents that can be extended to include a tab with file browsing. In addition, Geany comes with a simple completion tool, color picker, finder, simple project builder and tools for some languages. Its search tool is capable of searching the whole session or only the current file, with or without regex, and a “Find in files” option if the browser files plug-in is on.

Yet one of the nicest features of Geany is its Compile and Execute buttons. Based on the file you are editing, Geany tries to find the corresponding compiler/interpreter. So, if you are editing a Java file, you can compile it with javac and run it right after the compilation ends. At the same time, you can compile a LaTeX file and preview it in a really simple DVI viewer without having to change any configuration parameters. For interpreted languages, you don’t even have to run the compiler: just hit “Execute.” Of course, if your executable has a different name (let’s say, ruby1.8 instead of ruby), it will fail and report that it couldn’t find ruby. But you simply need to configure that to make things work wonderfully again.

Another interesting aspect of Geany is its built-in tags information. You can create *.tags files for a language or framework that Geany does not support by default, as well as add support for auto-completion and call tips. Consult Geany’s documentation for more details

Finally, you can extend Geany with plug-ins (find the plug-ins manager in the Tools menu) and themes. Or simply configure everything the way you want: just go to “Preferences” and adjust things to your taste, from the browser to your shortcuts.

Further Reading

4. What About Remote File Editing?

Nowadays, things are pretty easy, and you almost don’t need to install plug-ins to access FTP and SSH accounts or to edit files, because most modern distros comes with FUSE. And if you have GVFS installed, GNOME integrates it so that you can use it on Nautilus.

“But what is it?” you may be asking. In short, it allows you to mount a virtual file system on your system and work there just as you would in common directories.

You would just click on a file and start editing it. When you’re finished, just save and everything is done. A big advantage of this method over the FTP plug-in method is that you make things available to more than one application.

Note: since my server has only SFTP access, I’m not sure how stable this is with simple FTP, but it works flawlessly with SFTP. Nevertheless, when I need to edit a remote file, I prefer to connect via SSH using a terminal and use Vim to edit the file, only because the method reminds me that I’m not working locally and to be careful.

Further Reading

5. File Browsing FTP and SSH, Natively

In more recent versions of Nautilus, the GNOME file browser, you have native access to network protocols, such as WebDAV, FTP, SSH and Windows shares. You can add other protocols, like SVN, or extend it through its plug-ins and scripts. (Unfortunately, I cannot cover this topic here but only point you to an extensions and scripts website.)

You can browser different servers at the same time on different windows, which can be really helpful for transferring files from one server to another.

Of course, you don’t need to be stuck in the graphical portion of Linux. You can use the command line to perform most of these tasks.

Further Reading

Web Browsers

Linux has a lot of Web browsers to play with, from Mozilla’s family to console-based browsers. All of them have their pros and cons. But most of the time, we need only a few for testing, probably Firefox, Opera and one with the WebKit/KHTML engine.

Because I’m covering the GNOME environment, I chose Epiphany, with the WebKit engine (Epiphany’s project developers switched from Gecko to WebKit in the latest versions). Epiphany with WebKit is named epiphany-webkit on Debian and probably on some other distros

If you are on KDE, though, Chromium would probably suit you better because it does not depend on GNOME libraries or even use Konqueror (KHTML).

Note: I’m no specialist on rendering engines, so I can’t say for sure whether testing on more recent versions of Konqueror (which uses KHTML) would be sufficient for WebKit tests. I do all my testing on Epiphany.

If you really need to test your website in Internet Explorer, you can use the Wine library with Wine Tricks. Or use VirtualBox images, which is provided by Microsoft itself. For now, IE8 on Wine is still too buggy. But IE7 can run on Wine: check the “Further Reading” section below for more information. Running them on VirtualBox should work flawlessly.

Further Reading

-->