Linux Software: Difference between revisions
(55 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 62: | Line 69: | ||
* '''[http://www.trilon.com/xv/ xv]''' |
* '''[http://www.trilon.com/xv/ xv]''' |
||
: The historical image viewer and editor for Linux |
: The historical image viewer and editor for Linux |
||
=== 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) |
|||
=== 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 119: | 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 |
|||
sudo add-apt-repository ppa:recoll-backports/ppa |
|||
</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 154: | 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 |
|||
sudo apt-get update |
|||
sudo apt-get install terminator |
|||
</source> |
|||
'''My default configuration''': |
|||
* 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 NXL67002)) |
|||
'''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 |
|||
</source> |
|||
* 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] |
|||
[profiles] |
|||
[[default]] |
|||
use_system_font = False |
|||
font = Bitstream Vera Sans Mono 9 |
|||
background_color = "#ffffdd" |
|||
scrollback_infinite = True |
|||
foreground_color = "#000000" |
|||
[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 208: | 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 227: | Line 258: | ||
* filelight |
* filelight |
||
* [http://gt5.sourceforge.net/ gt5], also displays what has happened since gt5 last ran. |
* [http://gt5.sourceforge.net/ gt5], also displays what has happened since gt5 last ran. |
||
* procmeter3qsdf |
|||
* procmeter3 |
|||
* [https://codeberg.org/201984/dut dut] |
|||
: A new fast directory analyzer. |
|||
== 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 243: | Line 279: | ||
</source> |
</source> |
||
== |
== 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 258: | Line 294: | ||
=== [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 === |
||
* |
* 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 286: | Line 319: | ||
#! /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;}} }} |
||
* My desktop script to copy to <tt>/usr/share/applications</tt>: |
* My desktop script to copy to <tt>/usr/local/share/applications</tt>: |
||
{{pl2|{{hidden|<tt>/usr/share/applications/minecraft.desktop</tt> |
{{pl2|{{hidden|<tt>/usr/local/share/applications/minecraft.desktop</tt> |
||
([{{#filelink: minecraft.desktop}} download])|{{#fileanchor: minecraft.desktop}} |
([{{#filelink: minecraft.desktop}} download])|{{#fileanchor: minecraft.desktop}} |
||
<source lang="text"> |
<source lang="text"> |
||
Line 306: | Line 369: | ||
* 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 |
* Create the following files <tt>/usr/local</tt>: |
||
{{pl2|{{ |
{{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/*/ |
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|{{ |
{{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 333: | Line 418: | ||
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 |
|||
* Copy <tt>toboclic.desktop</tt> to <tt>/usr/share/applications</tt> |
|||
<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 350: | Line 440: | ||
</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 10:29, 11 July 2024
This page lists and comments interesting software on Linux
Image Viewers
New
- Shotwell
- Fotoxx (supports .RAW import)
Reviews
- Comparison of image viewers on Wikipedia
- 10 Best Image Viewers for Linux - TechCityInc
- What is a good image viewer? « Linux Photography
- 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.
- Eye of Gnome - The GNOME Image 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 from Google
- 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
- Darktable (recommended by Gilles)
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.
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:
- An excellent review on TuxRadar.com on Google Desktop, Beagle, Recoll
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.
- yt-dlp on GitHub
- Install with pip3:
pip3 install yt-dlp
- 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:
- Baobab aka Gnome Disk Usage Analyser (package gnome-utils)
- gdmap
- kdirstat, very similar to WinDirStat under windows
Other GUI-based tools:
Command-line tools:
- di
- dstat
- durep
- filelight
- gt5, also displays what has happened since gt5 last ran.
- procmeter3qsdf
- dut
- A new fast directory analyzer.
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
- See PlayOnLinux.
- Use Ubuntu Mate?
- See Lutris.
- Use Steam.
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):
{{#fileanchor: launch-minecraft.sh}}
#! /bin/bash
# nohup $(dirname $0)/minecraft.jar >/dev/null&
WHICHJAVA=$(readlink -f $(which java))
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
- My desktop script to copy to /usr/local/share/applications:
{{#fileanchor: minecraft.desktop}}
[Desktop Entry]
Version=1.2
Terminal=false
Exec=/usr/local/games/minecraft/launch-minecraft.sh
Icon=/usr/local/games/minecraft/minecraft-icon.png
Type=Application
Categories=Game;LogicGame;
Name=Minecraft
Comment=Play Minecraft !
- 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:
#! /bin/bash
TOBOCLIC=$(find /media -maxdepth 2 -path "/media/*/index.swf")
if [ -n "$TOBOCLIC" ]; then
firefox "$TOBOCLIC"
else
TOBOCLIC=$(find /media -maxdepth 2 -path "/media/*/*.swf")
if [ -n "$TOBOCLIC" ]; then
firefox "$TOBOCLIC"
fi
fi
[Desktop Entry]
Version=1.2
Terminal=false
Exec=/usr/local/games/toboclic/launch-toboclic.sh
Icon=/usr/local/games/toboclic/toboclic.ico
Type=Application
Categories=Game;
Name=Toboclic
Comment=Play with Toboclic!
- 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:
- On Oneiric and before:
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, 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/.