This file is indexed.

/usr/share/doc/gnumed/user-manual/Gnumed/GmManualCustomizingClientStartup.html is in gnumed-doc 1.4.6+dfsg-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<head>
	<title> GmManualCustomizingClientStartup &lt; Gnumed &lt; Foswiki</title>
		  
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="robots" content="noindex" /> <link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss.html" />
	<link rel="icon" href="../rsrc/System/ProjectLogos/favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="../rsrc/System/ProjectLogos/favicon.ico" type="image/x-icon" />
	<link rel="alternate" href="http://wiki.gnumed.de/bin/edit/Gnumed/GmManualCustomizingClientStartup?t=1391005510" type="application/x-wiki" title="edit GmManualCustomizingClientStartup" />
	<meta name="description" content="GmManualCustomizingClientStartup" />
	 <!--[if IE]></base><![endif]-->
	
	<style type="text/css" media="all">
@import url('../rsrc/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../rsrc/System/SkinTemplates/default.css');
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
	overflow-x:auto;
	padding-bottom:expression(this.scrollWidth > this.offsetWidth ? 16 : 0);
}
</style>
<![endif]-->

<meta name="foswiki.PUBURL" content="http://wiki.gnumed.de/pub" /> <!-- PUBURL -->
<meta name="foswiki.PUBURLPATH" content="/pub" /> <!-- PUBURLPATH -->
<meta name="foswiki.SCRIPTSUFFIX" content="" /> <!-- SCRIPTSUFFIX -->
<meta name="foswiki.SCRIPTURL" content="http://wiki.gnumed.de/bin" /> <!-- SCRIPTURL -->
<meta name="foswiki.SCRIPTURLPATH" content="/bin" /> <!-- SCRIPTURLPATH -->
<meta name="foswiki.SERVERTIME" content="29%20Jan%202014%20-%2015:25" /> <!-- SERVERTIME -->
<meta name="foswiki.SKIN" content="twikinet%2c%20pattern" /> <!-- SKIN -->
<meta name="foswiki.SYSTEMWEB" content="System" /> <!-- SYSTEMWEB -->
<meta name="foswiki.TOPIC" content="GmManualCustomizingClientStartup" /> <!-- TOPIC -->
<meta name="foswiki.USERNAME" content="KarstenHilbert" /> <!-- USERNAME -->
<meta name="foswiki.USERSWEB" content="Main" /> <!-- USERSWEB -->
<meta name="foswiki.WEB" content="Gnumed" /> <!-- WEB -->
<meta name="foswiki.WIKINAME" content="KarstenHilbert" /> <!-- WIKINAME -->
<meta name="foswiki.WIKIUSERNAME" content="Main.KarstenHilbert" /> <!-- WIKIUSERNAME -->
<meta name="foswiki.NAMEFILTER" content="%5b%5cs%5c*%3f~%5e%5c%24%40%25%60%22'%26%3b%7c%3c%3e%5c%5b%5c%5d%23%5cx00-%5cx1f%5d" /> <!-- NAMEFILTER --><!--JQUERYPLUGIN::FOSWIKI::META-->
<script type='text/javascript' src='../rsrc/System/JQueryPlugin/jquery-1.4.3.js'></script><!--JQUERYPLUGIN-->
<script type='text/javascript' src='../rsrc/System/JQueryPlugin/plugins/livequery/jquery.livequery.js'></script><!--JQUERYPLUGIN::LIVEQUERY-->
<script type='text/javascript' src='../rsrc/System/JQueryPlugin/plugins/foswiki/jquery.foswiki.js'></script><!--JQUERYPLUGIN::FOSWIKI-->
<script type='text/javascript' src='../rsrc/System/JSTreeContrib/jquery.jstree.js'></script><!--JQUERYPLUGIN::JSTREE-->
</head>
<body class=""><div class="foswikiPage">
<a name="PageTop"></a> 
<p></p>
<p></p>
<h1><a name="Customizing_GNUmed_client_startup_and_shutdown"></a>  Customizing GNUmed client startup and shutdown </h1>
<p></p>
There are several built-in hooks for customization of the startup/shutdown process. this is over and above any custom shell scripts/batch files by which to launch the client, and/or hacking of the Python source code itself to achieve any needed behaviour.
<p></p>
<a name="foswikiTOC"></a><div class="foswikiToc"> <ul>
<li> <a href="#Startup"> Startup </a> <ul>
<li> <a href="#shell_command_line"> shell command line </a>
</li> <li> <a href="#launcher_shell_script:_61_47usr_47bin_47gnumed_61"> launcher shell script: /usr/bin/gnumed </a>
</li> <li> <a href="#launcher_Python_script:_61gnumed.py_61"> launcher Python script: gnumed.py </a>
</li> <li> <a href="#other_customization_of_client_startup_40plugins_44_workplaces_41"> other customization of client startup (plugins, workplaces) </a>
</li> <li> <a href="#widget_loading:_61Gnumed_47wxGladeWidgets_47_61"> widget loading: Gnumed/wxGladeWidgets/ </a>
</li></ul> 
</li> <li> <a href="#Shutdown"> Shutdown </a>
</li></ul> 
</div>
<p></p>
<h2><a name="Startup"></a>  Startup </h2>
<p></p>
<h3><a name="shell_command_line"></a>  shell command line </h3>
<p></p>
The GNUmed client accepts a few command line options. They are documented in the <a href="http://cvs.savannah.gnu.org/viewcvs/gnumed/gnumed/client/doc/man-pages/gnumed.1?root=gnumed&amp;view=markup" target="_top">man page</a>. The options are passed to the <code>/usr/bin/gnumed</code> launcher shell script and eventually to the <code>gnumed.py</code> Python launcher script.
<p></p>
In particular, it may be convenient to use <code><b>--conf-file</b></code> to specify the use of a config file other than what GNUmed would have used by default. This is addressed further in <a href="GmManualConfigFiles.html">GmManualConfigFiles</a>.
<p></p>
<h3><a name="launcher_shell_script:_61_47usr_47bin_47gnumed_61"></a>  launcher shell script: <code>/usr/bin/gnumed</code> </h3>
<p></p>
The client is usually launched with the <code>/usr/bin/gnumed</code> shell script which is included in the release tarball. This script looks for
<p></p> <ul>
<li> <code>/etc/gnumed/gnumed-startup-local.sh</code> <ul>
<li> can be used for site-wide "local" customization
</li></ul> 
</li></ul> 
<p></p> <ul>
<li> <code>~/.gnumed/scripts/gnumed-startup-local.sh</code> <ul>
<li> can be used for user-specific customization
</li></ul> 
</li></ul> 
<p></p>
and executes them (in that order) if they exist. Both scripts can do anything the user launching <code>/usr/bin/gnumed</code> can do (unless they are setuid-root). GNUmed as a project will never overwrite those files (but your package manager may decide to provide an updated <code>/etc/gnumed/gnumed-startup-local.sh</code> from time to time).
<p></p>
<h3><a name="launcher_Python_script:_61gnumed.py_61"></a>  launcher Python script: <code>gnumed.py</code>  </h3>
<p></p>
When this script has been called the client as such is running. During startup, two <a href="GmManualHooksFramework.html">hooks</a> provide for customization:
<p></p> <ul>
<li> hook <code>startup-before-GUI</code> <ul>
<li> this is called before the wxPython GUI is initialized
</li></ul> 
</li></ul> 
<p></p> <ul>
<li> hook <code>startup-post-GUI-init</code> <ul>
<li> this is called after the wxPython GUI has been initialized but before flow control is handed to user input
</li></ul> 
</li></ul> 
<p></p>
Among other things, connecting to the backend <a href="GmManualCustomizingBackendLogin.html">(which can be customized as well)</a> happens between those two hooks.
<p></p>
<h3><a name="other_customization_of_client_startup_40plugins_44_workplaces_41"></a>  other customization of client startup (plugins, workplaces) </h3>
<p></p>
Additional configuration can include the selection of plugins that are to be loaded into the GNumed toolbar, and their order. This is treated further in <a href="WorkPlace.html">WorkPlaces</a>.
<p></p>
<h3><a name="widget_loading:_61Gnumed_47wxGladeWidgets_47_61"></a>  widget loading: <code>Gnumed/wxGladeWidgets/</code> </h3>
<p></p>
The GNUmed client launcher code <code>gnumed.py</code> checks for the directory <code>~/.gnumed/local_code/CLIENT_BRANCH/Gnumed/wxGladeWidgets</code>. If it exists it will be made available for importing whenever GNUmed imports code from package <code>Gnumed.wxGladeWidgets</code>. Several conditions must be met:
<p></p> <ul>
<li> permissions of <code>~/.gnumed/local_code/CLIENT_BRANCH/Gnumed/wxGladeWidgets</code> must be <code>0700</code> (<code>rwx------</code>)
</li> <li> no files or directories other than <code>wxGladeWidgets</code>, <code>__init__.py</code>, and <code>__init__.pyc</code> may exist within <code>~/.gnumed/local_code/CLIENT_BRANCH/Gnumed/</code>
</li> <li> (empty) <code>__init__.py</code> files must exist in <code>~/.gnumed/local_code/CLIENT_BRANCH/Gnumed/</code> and <code>~/.gnumed/local_code/CLIENT_BRANCH/Gnumed/wxGladeWidgets/</code>
</li></ul> 
<p></p>
The <code>CLIENT_BRANCH</code> part is to be replaced with the branch in which one wants to override wxGlade widgets because code may need to be different between branches.
<p></p>
<hr />
<h2><a name="Shutdown"></a>  Shutdown </h2>
<p></p>
During shutdown the hook <code>shutdown-post-GUI</code> is called when the wxPython GUI has been closed.
<p></p>
<a name="TopicEnd"></a>
<p></p>
<p></p>
<p></p>
<p></p>
</div>
</body></html>