Linux Software: Difference between revisions

From miki
Jump to navigation Jump to search
 
(43 intermediate revisions by the same user not shown)
Line 45: Line 45:
: ''The Eye of GNOME image viewer is the official image viewer for the GNOME Desktop environment''
: ''The Eye of GNOME image viewer is the official image viewer for the GNOME Desktop environment''
: '''My comment''': <font color="purple">Interesting!</font> Fast simple little image viewer. Default image viewer in GNOME.
: '''My comment''': <font color="purple">Interesting!</font> Fast simple little image viewer. Default image viewer in GNOME.

* '''[http://feh.finalrewind.org/ FEH]'''
: a fast and light Imlib2-based image viewer
<source lang=bash>
feh -dF --zoom max
feh -dF --zoom fill # Like bg fill
</source>


* '''[http://code.google.com/p/galapix/ Galapix]'''
* '''[http://code.google.com/p/galapix/ Galapix]'''
Line 63: Line 70:
: The historical image viewer and editor for Linux
: The historical image viewer and editor for Linux


== Photo editors ==
=== Gallery ===
Tools for generating thumbnails, browsing large directories of photos

* '''[https://github.com/niol/lazygal lazygal]'''
:Exist as a Debian package {{deb|lazygal}}. Create gallery simply with:
<source lang="bash">
cd /var/www/album
lazygal ~/pics
</source>

== Image and photo editors ==
=== DarkTable ===
* '''[http://www.darktable.org/ Darktable]''' (recommended by Gilles)
* '''[http://www.darktable.org/ Darktable]''' (recommended by Gilles)

=== SmillaEnlarger ===
A magical image zoom utility

http://sourceforge.net/projects/imageenlarger/

<source lang=bash>
sudo add-apt-repository ppa:dhor/myway
sudo apt-get update
sudo apt-get install smillaenlarger
</source>

=== Pinta ===
A simple yet powerful image editor.

=== Gimp ===
The most powerful editor on Linux, lots of feature.
Only drawback is that it is quite difficult to master, even for basic operations.

== PDF ==
=== [http://davvil.github.io/pdfpc/ pdfpc] ===

On Ubuntu / Debian, the package is called <tt>pdf-presenter-console</tt> (just make sure that this package installs David Vilar's fork version).

=== [https://sourceforge.net/projects/impressive/?source=typ_redirect Impressive] ===
A Python app to display PDF document on screen, with nice transition effects, loop mode...


== Web Tools ==
== Web Tools ==
Line 122: Line 166:
<tt>locate</tt> (or its equivalent <tt>slocate</tt> and <tt>mlocate</tt>) build a database of filename, which can then be browsed rapidly to find files by name. Locate database is usually updated thanks to a ''cron'' script.
<tt>locate</tt> (or its equivalent <tt>slocate</tt> and <tt>mlocate</tt>) build a database of filename, which can then be browsed rapidly to find files by name. Locate database is usually updated thanks to a ''cron'' script.


=== Mairix ===
=== [http://www.lesbonscomptes.com/recoll/ Recoll] ===
'''[http://www.rpcurnow.force9.co.uk/mairix/ Mairix]''' is a powerful program for indexing and searching email messages stored in maildir, MH or mbox folders.
Available in Ubuntu repository (package <tt>recoll</tt>). Favorite of TuxRadar.com's review, very very fast, very lightweight. Index can be build manually. Additional filters can be installed to support additional file types, support multiple indexes.


See [http://wiki.yobi.be/wiki/Mail_Tips Mail Tips on Yobi] for setting up Mairix so that it replies to request via IMAP.
Personal review:
* (+) Quite fast query results
* (+) Can index IMAP Maildir directly, even attachments!
* (+) also return files matching similar keywords (stemming).
* (-) Indexing hangs on some <tt>.zip</tt> files (with 5G+ memory, and lot of swapping). Removed <tt>*.jar, *.zip, *.tgz, *.gz, *.tar</tt> from list of files to index.
* (-) Only 10 results / page! This can't even be changed!
* (-) Relevance low. Aggravated with the point above. Files with search keywords in the filename, or title, or at beginning of the file are not returned first. Stemming makes it even worse.
** Fix: From the documentation, stemming can be disabled by keyword if they are capitalized (like <tt>floor</tt> will find ''flooring'', ''floored'', but <tt>Floor</tt> will only return ''floor''). Stemming can also be disabled from the menu.
* (-) No way to narrow down the results by PDF only or DOC only (both is considered text). Only way to do so is to perform a new advanced search.


=== Recoll ===

See [[Recoll]].
The version in Ubuntu <tt>universe</tt> repository is an old version. Install back-port repositories from launchpad.net [http://www.lesbonscomptes.com/recoll/download.html as follows:]:
<source lang="bash">
# This is not necessary anymore...
# gpg --keyserver keyserver.ubuntu.com --recv 9DA85604
# gpg --export --armor 9DA85604 | sudo apt-key add -
# gpg --keyserver keyserver.ubuntu.com --recv A0735AD0
# gpg --export --armor A0735AD0 | sudo apt-key add -

sudo add-apt-repository ppa:xapian-backports/ppa

# Old repository
# sudo add-apt-repository ppa:recoll-backports/ppa

# New repository
sudo add-apt-repository ppa:recoll-backports/recoll-1.15-on

sudo apt-get update
</source>

:The following ''recommended'' package should be installed (to allow indexing office files, etc.)
<source lang="bash">
sudo aptitude install antiword catdoc ghostscript libimage-exiftool-perl poppler-utils unrtf python-mutagen xsltproc
</source>


== Miscellaneous ==
== Miscellaneous ==
Line 165: Line 179:


=== [http://www.tenshu.net/terminator/ Gnome Terminator] ===
=== [http://www.tenshu.net/terminator/ Gnome Terminator] ===
See [[Terminator]].
A multipane terminal emulator based on Gnome Terminal.

Install it with
<source lang="bash">sudo add-apt-repository ppa:gnome-terminator # Not needed on Ubuntu Precise (part of Universe repo)
sudo apt-get update
sudo apt-get install terminator
</source>

'''My default configuration''':
* Several solution to get a login shell with X-forwarding thru ssh:
** Either check ''Run command as a login shell''
** Or <code>ssh -f hostname 'bash -l -c terminator&'</code>
** Or <code>ssh -f hostname 'terminator -x bash -l&'</code>
* Set ''background'' to '''transparent 6%''' (through <tt>~/.config/terminator/config</tt>)
* Set ''scrollback'' to '''infinite scrollback'''
* Custom ''geometry'' <tt>terminator --geometry=1220x720+100+100</tt> (in application menu)
* Font ''Lucida Console, 9'' (on nxl67002ux / nxl67063ux), or ''Bitstream Vera Sans Mono Roman 9'' (on nxl67063 Cygwin-X).

'''On Cygwin''':
* Copy <tt>C:\cygwin\bin\run.exe</tt> as <tt>C:\cygwin\bin\runpython.exe</tt> (wrapper, see <code>man run</code>).
* Create windows shortcut by duplicating e.g. ''xterm'' shortcut and changing command to
<source lang=text>
C:\cygwin\bin\runpython.exe -p /usr/X11R6/bin /usr/bin/terminator --geometry=1435x860+0+0
</source>
:There is an icon at <tt>/usr/share/icons/hicolors/32x32/apps/terminator.png</tt> (convert to .ico with gimp)
* Add a new user environment variable <tt>DISPLAY</tt> = <tt>127.0.0.1:0.0</tt><br/>
* Configuration <tt>~/.config/terminator/config</tt>:
<source lang=text>
[global_config]
[keybindings]
full_screen = <Alt>F11
[profiles]
[[default]]
use_system_font = False
login_shell = True
foreground_color = "#000000"
font = Bitstream Vera Sans Mono 9
background_color = "#ffffdd"
scrollback_infinite = True
[layouts]
[[default]]
[[[child1]]]
type = Terminal
parent = window0
[[[window0]]]
type = Window
parent = ""
[plugins]
</source>


=== [http://www.ubuntugeek.com/4pane-a-multi-pane-detailed-list-file-manager-for-linux.html 4Pane] ===
=== [http://www.ubuntugeek.com/4pane-a-multi-pane-detailed-list-file-manager-for-linux.html 4Pane] ===
Line 226: Line 192:
sudo apt-get update
sudo apt-get update
sudo apt-get install 4pane
sudo apt-get install 4pane
</source>

=== Evince ===
'''Evince''' is gnome PDF viewer.

;Troubleshooting
* The following error message is due to '''apparmor''' (see bug [https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1016103 1016103]) when using unusual location for ''/home'' directory (like ''/home'' being a symlink to ''/data/home'').
(evince:11710): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported
(evince:11710): Gtk-WARNING **: Attempting to store changes into `/home/beq06659/.local/share/recently-used.xbel', but failed: Failed to create file '/home/beq06659/.local/share/recently-
used.xbel.ZHHJ8W': Permission denied
(evince:11710): Gtk-WARNING **: Attempting to set the permissions of `/home/beq06659/.local/share/recently-used.xbel', but failed: No such file or directory
:Fix the error by editing ''/etc/apparmor.d/tunables/home'' (see [https://wiki.ubuntu.com/DebuggingApparmor#Adjusting_Tunables]), add the custom location for the home directory and restart ''apparmor'' (see [https://help.ubuntu.com/community/AppArmor]):
<source lang=bash>
sudo vi /etc/apparmor.d/tunables/home # Edit line as follows:
# @{HOMEDIRS}=/home/ /data/home/
sudo invoke-rc.d apparmor reload # Reload apparmor config
</source>

=== Youtube-dl ===
'''Youtube-dl''' download videos from youtube.com or other video platforms.

;yt-dlp
'''[https://github.com/yt-dlp/yt-dlp yt-dlp]''' is a fork that is more active than original youtube-dl.
* [https://github.com/yt-dlp/yt-dlp yt-dlp on GitHub]
* Install with pip3: <code>pip3 install yt-dlp</code>

;youtube-dl
To install, first install from the repository (this will install the necessary dependencies such as ffmpeg or avconv):
<source lang=bash>
sudo apt-get install youtube-dl
</source>
To get an up-to-date version, download and install from git repository:
<source lang=bash>
git clone https://github.com/rg3/youtube-dl.git
cd youtube-dl
./youtube-dl <link>
</source>

Usage:
<source lang=bash>
#YTDL=youtube-dl
YTDL=yt-dlp
$YTDL <youtube-link>
$YTDL --list-formats <youtube-link> # To view available formats
$YTDL -f 135+bestaudio <youtube-link> # Download 854x480 video and merge with best audio format available
$YTDL -r 1M -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]' $URL
# Limit rate to 1MB/s, pick best HD video, pick best audio
</source>
</source>


Line 248: Line 261:


== Audio File Tagger ==
== Audio File Tagger ==
=== EasyTAG aac ===
Can edit & download cover art.

=== [http://www.mp3tag.de/en/ Mp3tag] ===
=== [http://www.mp3tag.de/en/ Mp3tag] ===
Probably the best audio file tagger under Windows. Works under Wine.
Probably the best audio file tagger under Windows. Works under Wine.
Line 261: Line 277:
</source>
</source>


== Multimedia ==
== Audio Players ==
=== [http://www.foobar2000.org/ foobar2000] ===
=== [http://www.foobar2000.org/ foobar2000] ===
foobar2000 is an advanced freeware audio player for the Windows platform. It also works on Linux under Wine
foobar2000 is an advanced freeware audio player for the Windows platform. It also works on Linux under Wine
Line 276: Line 292:
=== [http://moc.daper.net/ MOC (Music on Console)] ===
=== [http://moc.daper.net/ MOC (Music on Console)] ===
A terminal-based music player with an interface similar to Midnight Commander.
A terminal-based music player with an interface similar to Midnight Commander.

== Video editors ==
=== [http://www.openshot.org/ Openshot] ===
Simple tool for editing, transcoding video. Builtin profile for youtube video editing.


== Games ==
== Games ==
=== Playing on Linux ===
* See [https://www.playonlinux.com/en/ PlayOnLinux].
* Use [https://news.ycombinator.com/item?id=25108771 Ubuntu Mate]?
* See [https://lutris.net/ Lutris].
* Use Steam.

=== Minecraft ===
=== Minecraft ===
* Minecraft requires '''*SUN* java JRE''' (see [http://www.minecraftwiki.net/wiki/Tutorials/Setting_up_a_server]):
* It is recommanded to use ''*SUN / ORACLE* java JRE''' (see [http://www.minecraftwiki.net/wiki/Tutorials/Setting_up_a_server]).
<source lang=bash>
# On Ubuntu before Oneiric
sudo apt-get install sun-java6-jre
# On Oneiric, sun java was removed from 'partner' repository
# ... but we can still obtain it via this repository
sudo add-apt-repository ppa:ferramroberto/java
</source>
* Install and select SUN java as the default JRE:
<source lang=bash>
sudo apt-get update
sudo apt-get install sun-java6-jre
sudo update-alternatives --config java
</source>
* Download Minecraft.jar from [http://www.minecraft.net/download download page] and copy it into <tt>/usr/local/games/minecraft</tt>:
* Download Minecraft.jar from [http://www.minecraft.net/download download page] and copy it into <tt>/usr/local/games/minecraft</tt>:
<source lang=bash>
<source lang=bash>
Line 304: Line 317:
#! /bin/bash
#! /bin/bash
# nohup $(dirname $0)/minecraft.jar >/dev/null&
# nohup $(dirname $0)/minecraft.jar >/dev/null&
WHICHJAVA=$(readlink -f $(which java))
nohup java -Xmx1024M -Xms512M -cp $(dirname $0)/minecraft.jar net.minecraft.LauncherFrame >/dev/null&
if [[ $WHICHJAVA == *java-7-oracle* ]]; then
if [ "$(arch)" = "x86_64" ]; then
export LD_LIBRARY_PATH=${WHICHJAVA%%/bin/java}/lib/amd64
else
export LD_LIBRARY_PATH=${WHICHJAVA%%/bin/java}/lib/i386
fi
echo "LD_LIBRARY_PATH set to '$LD_LIBRARY_PATH'"
if ! [ -a "$LD_LIBRARY_PATH" ]; then
echo >&2 "'$LD_LIBRARY_PATH' not found. Is java correctly installed for this machine?"
exit 1

fi
fi
if [ -a /usr/bin/dropbox ]; then
# dropbox found - let's start and wait for it to Idle

# First, start it first if needed
if ! pgrep dropbox; then
dropbox start
for i in seq 1 5; do dropbox status; sleep 1; done
fi

# Wait for Idle state

while [ "$(dropbox status)" != "Idle" ]; do
dropbox status
sleep 2
done
fi
java -Xmx1024M -Xms512M -cp $(dirname $0)/minecraft.jar net.minecraft.LauncherFrame >/dev/null
exit 0
exit 0
</source>|headerstyle=background:#ccccff;text-align:left;}} }}
</source>|headerstyle=background:#ccccff;text-align:left;}} }}
Line 324: Line 367:


* Copy [[media:minecraft-icon.png|minecraft-icon.png]] icon to <tt>/usr/local/games/minecraft</tt>.
* Copy [[media:minecraft-icon.png|minecraft-icon.png]] icon to <tt>/usr/local/games/minecraft</tt>.
* '''BLACK SCREEN''' after loging, due to LD_LIBRARY_PATH not defined (see [http://www.minecraftforum.net/topic/1301530-black-screen-when-i-try-to-load-minecraft-on-a-linux/])
<source lang=bash>
export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-oracle/jre/lib/amd64
</source>

'''Dropbox'''
* Use dropbox to sync saves, mods... between computers
* Install
<source lang=bash>
sudo dpkg -i dropbox_....deb # pick i386 / amd64 as necessary
sudo apt-get install python-gpgme
dropbox start -i # As user that will play minecraft
</source>

'''Use custom username in ''offline'' instead of ''Player''''':

One can change the username that appears on multi-player servers as follow (only if they accept offline clients) (see [http://gaming.stackexchange.com/questions/24543/how-do-i-change-player-name-in-minecraft-multiplayer-in-offline-mode-in-linux]):
<source lang=bash>
export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-oracle/jre/lib/amd64 # adapt as necessary
java -Xms512m -Xmx1024m -cp "$HOME/.minecraft/bin/*" -Djava.library.path="$HOME/.minecraft/bin/natives" net.minecraft.client.Minecraft "$USERNAME"
</source>


=== Toboclic ===
=== Toboclic ===
* Create the following files <tt>/usr/local</tt>:
* Create the following files <tt>/usr/local</tt>:
{{pl2|{{hidden|<tt>/usr/local/games/toboclic/launch-toboclic.sh</tt>
{{pl2|1={{hiddenSourceFile|/usr/local/games/toboclic/|launch-toboclic.sh|content=<source lang="bash">
([{{#filelink: launch-toboclic.sh}} download])|{{#fileanchor: launch-toboclic.sh}}
<source lang="bash">
#! /bin/bash
#! /bin/bash


TOBOCLIC=$(find /media -maxdepth 2 -path /media/*/*.swf)
TOBOCLIC=$(find /media -maxdepth 2 -path "/media/*/index.swf")
if [ -n "$TOBOCLIC" ]; then
if [ -n "$TOBOCLIC" ]; then
firefox "$TOBOCLIC"
firefox "$TOBOCLIC"
else
TOBOCLIC=$(find /media -maxdepth 2 -path "/media/*/*.swf")
if [ -n "$TOBOCLIC" ]; then
firefox "$TOBOCLIC"
fi
fi
fi
</source>|headerstyle=background:#ccccff;text-align:left;}} }}
</source>|headerstyle=background:#ccccff;text-align:left;}} }}


{{pl2|{{hidden|<tt>/usr/local/share/applications/toboclic.desktop</tt>
{{pl2|1={{hiddenSourceFile|/usr/local/share/applications/|toboclic.desktop|content=<source lang="bash">
([{{#filelink: toboclic.desktop}} download])|{{#fileanchor: toboclic.desktop}}
<source lang="bash">
[Desktop Entry]
[Desktop Entry]
Version=1.2
Version=1.2
Line 351: Line 416:
Comment=Play with Toboclic!
Comment=Play with Toboclic!
</source>|headerstyle=background:#ccccff;text-align:left;}} }}
</source>|headerstyle=background:#ccccff;text-align:left;}} }}
:'''Note''': if <tt>/usr/local/share/applications</tt> did not exist, it will not be scanned automatically unless reboot.
* The <tt>.desktop</tt> file requires an icon file at <tt>/usr/local/games/toboclic/toboclic.ico</tt>
* The <tt>.desktop</tt> file requires an icon file at <tt>/usr/local/games/toboclic/toboclic.ico</tt>
* Mark these files as executable
<source lang=bash>
sudo chmod a+x /usr/local/games/toboclic/launch-toboclic.sh
sudo chmod a+x /usr/local/share/applications/toboclic.desktop
</source>


=== [http://www.pandanet.co.jp/English/glGo/download.html Panda glGo] ===
=== [http://www.pandanet.co.jp/English/glGo/download.html Panda glGo] ===
Line 367: Line 438:
</source>
</source>
* Start <code>glGo</code>, and enter <code>/usr/games/gnugo</code> for location of gnugo
* Start <code>glGo</code>, and enter <code>/usr/games/gnugo</code> for location of gnugo

== Development ==
=== Oracle / Sun Java ===
Reference:
<ul>
<li>https://help.ubuntu.com/community/Java</li>
<li>http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html</li>
Easiest method to install '''Oracle Java 7''' on ''Ubuntu Precise 12.04'':
<source lang=bash>
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

java -version

sudo update-java-alternatives -s java-7-oracle # If current java is not oracle's

sudo apt-get install oracle-java7-set-default # To set up env. var by default

sudo apt-get remove oracle-java7-installer # To *REMOVE*
</source>
<li>On Oneiric and before:</li>
<source lang=bash>
# On Oneiric, we first need to add this repository since
# ... java is no longer in 'partner' repository
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update

# Install SUN Java 6
sudo apt-get install sun-java6-jre

# Select SUN java as the default JRE:
sudo update-alternatives --config java
sudo update-alternatives --config javac
</source>
</ul>

=== C/C++ IDE ===

==== QtCreator + FakeVim ====
See https://pagefault.blog/2017/02/01/my-editor-of-choice-for-c-cpp-qtcreator-fakevim/.

Latest revision as of 16:02, 28 December 2022

This page lists and comments interesting software on Linux

Image Viewers

New

  • Shotwell
  • Fotoxx (supports .RAW import)

Reviews

Recommends Ristretto for simple use case, and gThumb for more advanced uses.

Image Managers

digiKam is an advanced digital photo management application for Linux, Windows, and Mac-OSX.
F-Spot is a full-featured personal photo management application for the GNOME desktop
User comment: Has apparently the bad habit to save files without notice...
My comment: Extremely bad! Can't browse a complete folder with a simple click on a photo in the folder and can't access the full interface. Very slow. Crappy slideshow with fade-in fade-out that can't be disabled at first sight!
XnView is a free software to view, organise, convert graphics and photos files or to create slide show, contact sheet, HTML pages.

Middle Solutions

an image browser that features single click access to view images and move around the directory tree
gThumb is an image viewer and browser for the GNOME Desktop.
My comment: Very promising! Fast image viewer, easy browsing, can view all the photos in one folder by clicking a file in Nautilus, and then go back to the full interface (à la ACDSee).
Gwenview is a fast and easy to use image viewer for KDE.

Simple Viewers

  • Comix - GTK Comic Book Viewer
Comix is a user-friendly, customizable image viewer. It is specifically designed to handle comic books, but also serves as a generic viewer.
The Eye of GNOME image viewer is the official image viewer for the GNOME Desktop environment
My comment: Interesting! Fast simple little image viewer. Default image viewer in GNOME.
a fast and light Imlib2-based image viewer
feh -dF --zoom max
feh -dF --zoom fill    # Like bg fill
Tool focused on viewing very large collections of images at once, with smooth zooming from thumbnail down to original size
Picasa is free photo editing software from Google that makes your pictures look great.
  • QIV - Quick Image Viewer
... is a very small and pretty fast gdk/lmlib image viewer
user comment: very fast. looks very sparse to begin with, but has everything you need without cluttering up your display.
My comment: Very interesting! Very fast command-line image viewer. Type qiv -tf * to view all photos in current folder in full screen mode and best-fit zoom. Press F1 for help.
Ristretto is a fast and lightweight picture-viewer for the Xfce desktop environment
The historical image viewer and editor for Linux

Gallery

Tools for generating thumbnails, browsing large directories of photos

Exist as a Debian package lazygal. Create gallery simply with:
cd /var/www/album
lazygal ~/pics

Image and photo editors

DarkTable

SmillaEnlarger

A magical image zoom utility

http://sourceforge.net/projects/imageenlarger/

sudo add-apt-repository ppa:dhor/myway
sudo apt-get update
sudo apt-get install smillaenlarger

Pinta

A simple yet powerful image editor.

Gimp

The most powerful editor on Linux, lots of feature. Only drawback is that it is quite difficult to master, even for basic operations.

PDF

pdfpc

On Ubuntu / Debian, the package is called pdf-presenter-console (just make sure that this package installs David Vilar's fork version).

Impressive

A Python app to display PDF document on screen, with nice transition effects, loop mode...

Web Tools

Web Developer Tools

Web Developer Tools includes

  • Dean Edwards Javascript Compressor
  • Css Minifier
  • Css Button Generator
  • Cool Button Generator
  • RGB / HEX Color chart
  • VTE Terminal
  • WYSIWYG HTML 5 Editor

Diff Tools

Some GUI-based tools:

KDiff3

KDiff3 compares and merges 2 or 3 files or directories.

Meld

Meld is a visual diff and merge tool. You can compare two or three files and edit them in place (diffs update dynamically). You can compare two or three folders and launch file comparisons. You can browse and view a working copy from popular version control systems such such as CVS, Subversion, Bazaar-ng and Mercurial.

Diffuse

Diffuse is a small and simple text merge tool written in Python. With Diffuse, you can easily merge, edit, and review changes to your code.

diffuse file1 file2 file3       # Compare a Set of Files
diffuse -m                      # Review Local Changes or Fix Merge Conflicts
diffuse -r rev1 -r rev2 file    # Compare Specific Revisions
diffuse -c rev file             # Inspect a Revision


Some command-line based tools:

diff

The standard well-known diff tool.

colordiff

A diff wrapper written in Perl that adds color to diff output.

Search Tools

Links:

See also Search tools on Windows

Beagle

Available in Ubuntu repository (package beagle). Open-source alternative to GD that had a very bad reputation of consuming lots of memory. According to TuxRadar.com's review, beagle is now excellent with complex search options.

Google Desktop

Available here for Linux. Tools from the famous search engine. According to TuxRadar.com's review, very fast but lack some additional filters.

locate / slocate / mlocate

locate (or its equivalent slocate and mlocate) build a database of filename, which can then be browsed rapidly to find files by name. Locate database is usually updated thanks to a cron script.

Mairix

Mairix is a powerful program for indexing and searching email messages stored in maildir, MH or mbox folders.

See Mail Tips on Yobi for setting up Mairix so that it replies to request via IMAP.

Recoll

See Recoll.

Miscellaneous

Shutter

A feature-rich screenshot program

Gnome Terminator

See Terminator.

4Pane

A multi-pane file manager: Add to /etc/apt/sources.list:

deb http://www.4pane.co.uk/ubuntu/ lucid universe

Add the key and install:

sudo apt-key adv --fetch-keys http://www.4pane.co.uk/4Pane.asc
sudo apt-get update
sudo apt-get install 4pane

Evince

Evince is gnome PDF viewer.

Troubleshooting
  • The following error message is due to apparmor (see bug 1016103) when using unusual location for /home directory (like /home being a symlink to /data/home).
(evince:11710): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported
(evince:11710): Gtk-WARNING **: Attempting to store changes into `/home/beq06659/.local/share/recently-used.xbel', but failed: Failed to create file '/home/beq06659/.local/share/recently-
used.xbel.ZHHJ8W': Permission denied
(evince:11710): Gtk-WARNING **: Attempting to set the permissions of `/home/beq06659/.local/share/recently-used.xbel', but failed: No such file or directory
Fix the error by editing /etc/apparmor.d/tunables/home (see [1]), add the custom location for the home directory and restart apparmor (see [2]):
sudo vi /etc/apparmor.d/tunables/home            # Edit line as follows:
                                                 # @{HOMEDIRS}=/home/ /data/home/
sudo invoke-rc.d apparmor reload                 # Reload apparmor config

Youtube-dl

Youtube-dl download videos from youtube.com or other video platforms.

yt-dlp

yt-dlp is a fork that is more active than original youtube-dl.

youtube-dl

To install, first install from the repository (this will install the necessary dependencies such as ffmpeg or avconv):

sudo apt-get install youtube-dl

To get an up-to-date version, download and install from git repository:

git clone https://github.com/rg3/youtube-dl.git
cd youtube-dl
./youtube-dl <link>

Usage:

#YTDL=youtube-dl
YTDL=yt-dlp
$YTDL <youtube-link>
$YTDL --list-formats <youtube-link>        # To view available formats
$YTDL -f 135+bestaudio <youtube-link>      # Download 854x480 video and merge with best audio format available
$YTDL -r 1M -f 'bestvideo[height<=1080]+bestaudio/best[height<=1080]' $URL
                                           # Limit rate to 1MB/s, pick best HD video, pick best audio

Disk Usage

Some disk usage report and monitoring tools.

Tools using treemaps:

Other GUI-based tools:

Command-line tools:

  • di
  • dstat
  • durep
  • filelight
  • gt5, also displays what has happened since gt5 last ran.
  • procmeter3

Audio File Tagger

EasyTAG aac

Can edit & download cover art.

Mp3tag

Probably the best audio file tagger under Windows. Works under Wine.

PuddleTag

As referenced on UbuntuGeek, PuddleTag looks like the ultimate choice for audio tagger under Linux. PuddleTag is inspired from Mp3tag.

Download the package from the website, and install it with:

sudo dpkg -i puddletag_0.9.11-1_all.deb
sudo apt-get install python-qt4 python-pyparsing python-mutagen python-configobj python-musicbrainz2
sudo apt-get -f install                            # Solve automatically unmet dependencies and install pending packages

Audio Players

foobar2000

foobar2000 is an advanced freeware audio player for the Windows platform. It also works on Linux under Wine

Amarok

The Media Player for the KDE desktop

Rhythmbox

Music player and organized for GNOME

Banshee

Media management and playback application for the GNOME desktop

MOC (Music on Console)

A terminal-based music player with an interface similar to Midnight Commander.

Video editors

Openshot

Simple tool for editing, transcoding video. Builtin profile for youtube video editing.

Games

Playing on Linux

Minecraft

  • It is recommanded to use *SUN / ORACLE* java JRE' (see [3]).
  • Download Minecraft.jar from download page and copy it into /usr/local/games/minecraft:
wget https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft.jar
  • My startup script (note the lowercase to minecraft.jar, unlike what is indicated on the download page):
  • My desktop script to copy to /usr/local/share/applications:
  • Copy minecraft-icon.png icon to /usr/local/games/minecraft.
  • BLACK SCREEN after loging, due to LD_LIBRARY_PATH not defined (see [4])
export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-oracle/jre/lib/amd64

Dropbox

  • Use dropbox to sync saves, mods... between computers
  • Install
sudo dpkg -i dropbox_....deb               # pick i386 / amd64 as necessary
sudo apt-get install python-gpgme
dropbox start -i                           # As user that will play minecraft

Use custom username in offline instead of Player:

One can change the username that appears on multi-player servers as follow (only if they accept offline clients) (see [5]):

export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-oracle/jre/lib/amd64           # adapt as necessary
java -Xms512m -Xmx1024m -cp "$HOME/.minecraft/bin/*" -Djava.library.path="$HOME/.minecraft/bin/natives" net.minecraft.client.Minecraft "$USERNAME"

Toboclic

  • Create the following files /usr/local:
Note: if /usr/local/share/applications did not exist, it will not be scanned automatically unless reboot.
  • The .desktop file requires an icon file at /usr/local/games/toboclic/toboclic.ico
  • Mark these files as executable
sudo chmod a+x /usr/local/games/toboclic/launch-toboclic.sh
sudo chmod a+x /usr/local/share/applications/toboclic.desktop

Panda glGo

  • Does not work anymore on Ubuntu 11.10 Oneiric 64-bit
  • Requires packages libsdl-image1.2 libsdl-ttf2.0-0. Also this is a 32-bit package, so on amd64 architecture, it requires package ia32-libs).
  • Download the package from the website and install:
wget http://www.pandanet.co.jp/English/glGo/downloads/glGo-1.4.1.deb
sudo apt-get install libsdl-image1.2 libsdl-ttf2.0-0 libpython2.6
#on amd64 arch:
sudo ln -s libpython2.6.so.1.0 /usr/lib32/libpython2.5.so.1.0       
#on i386 arch:
sudo ln -s libpython2.6.so.1.0 /usr/lib/libpython2.5.so.1.0         
sudo dpkg -i --force-architecture glGo-1.4.1.deb
  • Start glGo, and enter /usr/games/gnugo for location of gnugo

Development

Oracle / Sun Java

Reference:

  • https://help.ubuntu.com/community/Java
  • http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
  • Easiest method to install Oracle Java 7 on Ubuntu Precise 12.04:
    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
    
    java -version
    
    sudo update-java-alternatives -s java-7-oracle         # If current java is not oracle's
    
    sudo apt-get install oracle-java7-set-default          # To set up env. var by default
    
    sudo apt-get remove oracle-java7-installer             # To *REMOVE*
    
  • On Oneiric and before:
  • # On Oneiric, we first need to add this repository since
    # ... java is no longer in 'partner' repository
    sudo add-apt-repository ppa:ferramroberto/java
    sudo apt-get update
    
    # Install SUN Java 6
    sudo apt-get install sun-java6-jre
    
    # Select SUN java as the default JRE:
    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    

C/C++ IDE

QtCreator + FakeVim

See https://pagefault.blog/2017/02/01/my-editor-of-choice-for-c-cpp-qtcreator-fakevim/.