3 * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
4 * Copyright (C) $$Year-Rel$$ The Jalview Authors
6 * This file is part of Jalview.
8 * Jalview is free software: you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License
10 * as published by the Free Software Foundation, either version 3
11 * of the License, or (at your option) any later version.
13 * Jalview is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty
15 * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
16 * PURPOSE. See the GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
20 * The Jalview Authors are detailed in the 'AUTHORS' file.
23 <title>Running Jalview from the command line</title>
27 <strong>Running Jalview from the command line</strong>
30 Jalview can be run from the command line, and provides a <a
31 href="clarguments.html">range of arguments</a>.
33 <p>There are a few different ways to do this:</p>
35 <li>Use the <strong>jalview</strong> command that links to a <strong>launch
36 script</strong>. Launch scripts are available if you are running an up to
37 date version of Jalview (at least 2.11.2.0), or have installed
38 Jalview via a package manager (e.g. conda, homebrew, apt).
40 <li>Embed arguments in a <strong>.JVL</strong> file. These
41 files will be opened automatically by the Jalview application when
42 double-clicked in a file browser on Windows and OSX.
44 <li>Execute the Jalview standalone Jar file with an existing
45 Java installation</li>
46 <li>For older versions of Jalview, call the <a href="#olderinstalls">native launch program directly</a>.
49 <strong><a name="script">Jalview's command line launch</a></strong>
50 <p>Since version 2.11.2, the Jalview native application includes a <strong>launching shell script</strong>. This is the easiest way to
51 launch an installed Jalview application from the command line. </p><p>To run the <strong>launch script</strong>, simply open a Terminal (or Command prompt on Windows), and type:<pre>
55 <p>There are some important differences between the using the launching script and launching Jalview from its icon:
58 <li>The launching script will NOT perform automatic updates.</li>
59 <li>The launching script cannot open or use JVL files.</li>
62 <em><strong>Adding the launch script to your path</strong></em>
64 If typing 'jalview' in the terminal prompt (or windows command line)
65 doesn't work then you will need to add the location of the jalview
67 <code>PATH</code>.</p><p>
68 How you do this depends on your operating system.
74 <p><em>In <strong>Linux</strong> or <strong>Unix</strong> (<code>jalview.sh</code>)</em></p>
75 <p>Running the Linux installer will give you the option of adding a symbolic link to
76 that script in your <code>$PATH</code>, if it finds a suitable place that your user can add such a
77 link (e.g. <code>~/bin</code>, <code>~/.local/bin</code>, <code>~/local/bin</code>, <code>~/opt/bin</code>). If you chose that option then
78 you should be able to launch Jalview on the command line with the simple command
80 If you didn't choose that option during installation (or used an earlier version installer), or wish to make another symbolic link, you can link to the
81 launching shell script with the command
82 <pre>ln -s /PATH_TO_JALVIEW/bin/jalview.sh jalview</pre>
83 or you could add <code>/PATH_TO_JALVIEW/bin</code> to your own <code>$PATH</code> as it already contains a symbolic link <code>jalview</code>.
87 <p><em>In <strong>Windows</strong> (<code>jalview.bat</code>, <code>jalview.ps1</code>)</em></p>
88 <p>The Windows installer will give you the option of adding Jalview's script folder to your <code>%PATH%</code> allowing you to launch Jalview
89 in a Command Prompt simply with the command
91 If you didn't choose that option during installation (or used an earlier version installer), you can either
95 add the <code>\PATH_TO_JALVIEW\bin</code> folder to your <code>%PATH%</code>, or
98 run the launcher script on the command line with its full path
99 <pre>\PATH_TO_JALVIEW\bin\jalview.bat</pre>
100 (you can leave off the <code>.bat</code> extension if you want).
103 The <code>jalview.bat</code> file is a generic wrapper around the
104 PowerShell script <code>jalview.ps1</code> in the same folder. This PowerShell script should work with both
105 PowerShell 5.x (which is installed by default on all modern Windows machines), and also PowerShell 6.0+
106 which might have been installed afterwards.
110 <p><em>In <strong>macOS</strong> (<code>jalview</code>)</em></p>
111 <p>We don't currently provide a macOS installer program, so you
112 will need to add the command to you path manually. The script you
113 should use to launch Jalview is linked to as
114 <pre>/Applications/Jalview.app/Contents/MacOS/jalview</pre> so you
115 can run that command with its full path, or make your own symbolic
116 link to there, or add that folder to your <code>$PATH</code>. <pre>echo /Applications/Jalview.app/Contents/Resources/app/bin | sudo tee -a /etc/paths.d/Jalview</pre>
117 This adds the directory
118 "/Applications/Jalview.app/Contents/Resources/app/bin/"
119 to a "Jalview" file in the /etc/paths.d/ directory. The
120 lines from all the files in this directory are added the $PATH
121 variable for all shells and users.
124 If you cannot see the
126 command in the MacOS directory, then you probably have an older
127 Jalview installation. In that case, you should make a symbolic link
128 directly to the launch script with the command
129 <pre>ln -s /Applications/Jalview.app/Content/Resources/app/bin/jalview.sh jalview</pre>
130 <em>If this doens't work, check your installation is running
131 Jalview 2.11.2.0 or later.</em>
135 <!-- <p><em>Future</em></p>
136 A future version of Jalview will include a tool to allow adding these "<code>jalview</code>" links to your <code>PATH</code> automatically.
141 <p><strong><a name="olderinstalls">Older versions of Jalview</a></strong></p>
144 If you are using a version of Jalview prior to 2.11.2, you can still launch from the command line, but you will have to
145 use a more platform specific way to launch and use command line arguments.
148 <li>Standard installation on Linux/Unix:
149 <pre>/PATH_TO_JALVIEW/Jalview -open https://www.jalview.org/examples/jpred_msa.fasta -annotations https://www.jalview.org/examples/jpred_msa.seq.concise -colour Clustal</pre>
151 <li>Standard installation on Windows:
152 <pre>\PATH_TO_JALVIEW\Jalview.exe -open %HOMEPATH%\myalignment.fa</pre>
155 <pre>open /Applications/Jalview.app --args -open /FULL/PATH/TO/myalignment.fa</pre>
156 <em>(put all the Jalview arguments <em>after</em> the --args parameter, and note that <strong>all files must be specified with their full paths</strong>)</em>
159 <li>Jalview standalone executable Jar<pre>
160 <Path to Java home>/bin/java -jar <Path to Jalview Jar>/jalview-all-1.8.jar -open myalignment.fa</pre></li>
163 If you have installed Jalview via <em>conda</em> or another package
164 manager then you most likely have a 'jalview' command available in
165 your terminal shell's default path. Alternately, if you have built
166 Jalview from source, then take a look at the doc/building.md file
167 included in the source distribution.
170 Use '--help' to get more information on the <a
171 href="clarguments.html">command line arguments</a> that Jalview
175 <strong>Passing JVM Arguments to Jalview</strong><br /> If you need
176 to modify parameters for Jalview's Java Virtual Machine, or
177 configure system properties, then take a look at the instructions
178 for how to <a href="../memory.html#jvm">setting the JVM's
179 maximum memory</a>.<br />
181 <strong>Changing Jalview's 'Look and Feel'</strong> <br />If you
182 are experiencing issues with the font size or layout of Jalview's
183 GUI, you can try changing Jalview's 'Look and feel' by
184 specifying a custom system property 'laf' on startup (see <a
185 href="../memory.html#jvm">setting the JVM's memory</a> for
186 instructions on how to do this for your platform). <br />For the
187 Jalview standalone executable jar, simply provide one of the
188 property settings before the -jar argument
191 <li>-Dlaf=system (default look and feel for the OS)</li>
192 <li>-Dlaf=crossplatform (Java's Metal Look and Feel)</li>
193 <li>-Dlaf=nimbus (Java's alternative Nimbus Look and Feel)</li>
194 <li>-Dlaf=mac (only has an effect on OSX)</li>
195 <li>-Dlaf=gtk (only has an effect on Linux)</li>
196 <li>-Dlaf=metal (force Java's Metal Look and Feel, default on linux)</li>
197 <li>-Dlaf=quaqua (macOS only. Force attempt at old macOS theme)</li>
198 <li>-Dlaf=vaqua (macOS only. Force attempt at modern macOS theme)</li>
200 The currently configured look and feel is logged to Jalview's console.
201 Once the look and feel has been changed, it will be stored in
202 Jalview's .jalview_properties file for future Jalview sessions. This property is <strong>PREFERRED_LAF</strong> and can also be used to set the Look and feel by editing your .jalview_properties file.