Paths and Directories

From Yate Documentation
Jump to: navigation, search

This document aims to describe the directories used by YATE and their location depending on the various operating systems that are used and the type of build system used to run it.



Yate uses the following directories:

  • modules directory - this directory specifies the location from where YATE plugins are to be loaded.
  • conf files directory - this directory specifies the location of the configuration files for YATE or its plugins.
  • shared files directory - directory used for storing shared data (external scripts, audio files, skins for the client)
  • user files directory - directory used for storing user specific data.
  • extra modules directory - specifies an additional path from where YATE modules should be loaded besides the module directory.


In order to obtain the expected behaviour from YATE, a prior knowledge regarding from where YATE will get its paths for the above directories is required. Depending on how YATE was installed, on what platform is run and how it was started, YATE can use various paths for the directories listed above.

There are several ways of running YATE:

  1. YATE build dir - We'll call this an instance of YATE being run from the a local build directory. Usually, this means that a SVN copy of the YATE source directory was made and afterwards compiled, without issuing the make install command. This instance will be started using the provided run script present in the root of the source directory.
  2. YATE make install - We'll call this an instance of YATE that was build by getting the source from SVN, but for which the make install command was issued after building.
  3. YATE RPM - We'll call this an instance of YATE that was installed from a .rpm package
  4. YATE DEB - We'll call this an instance of YATE that was installed from a .deb package
  5. YATE MacOS - We'll call this an instance of YATE that was installed on MAC OS X from a .pkg/.dmg file.
  6. YATE Win - Instance of YATE running on Windows that was installed through an installer.

Default paths

In the tables below, the default paths for the various types of running YATE are listed:

1. Default paths for YATE build dir

OS modules conf files share files user files
Linux ./modules ./conf ./share ~/.yate/
Mac OS X 10.6 ./modules ./conf ./share ~/Library/Application Support/Yate

2. Default paths for YATE make install
Unless at configure time you should override the PREFIX variable, the paths which YATE will use are:

OS modules conf files share files user files
Linux /usr/local/lib/yate /usr/local/etc/yate /usr/local/share/yate ~/.yate/
Mac OS X 10.6 /usr/local/lib/yate /usr/local/etc/yate /usr/local/share/yate ~/Library/Application Support/Yate

3. Paths for YATE RPM

OS modules conf files share files user files
RedHat, Mandriva, CentOS, Suse i586 /usr/lib/yate /etc/yate /usr/share/yate ~/.yate/
RedHat, Mandriva, CentOS, Suse x86_64 /usr/lib64/yate /etc/yate /usr/share/yate ~/.yate/

4. Paths for YATE DEB

OS modules conf files share files user files
Debian Sid (unstable) i386 /usr/lib/yate/ /etc/yate/ /usr/share/yate/ ~/.yate/

5. Paths for YATE MacOS

Directory YateServer YateClient
modules /Applications/ /Applications/
conf files /Applications/ /Applications/
share files /Applications/ /Applications/
user files ~/Library/Application Support/Yate ~/Library/Application Support/YateClient

6. Paths for YATE Win

The installer will ask the path where you want to install Yate. So the path is chosen, let's say C:\Program Files\Yate.

OS modules conf files share files user files
Windows XP C:\Program Files\Yate\modules C:\Program Files\Yate\conf.d C:\Program Files\Yate\share ~\application\data\Yate

Overriding paths

The default paths that YATE uses for the used directories can be overridden in two ways, ways that are not mutually exclusive. This depends also on how YATE was installed. If it was installed from sources, hence you have control over the building process, you would have the possibility to set at build time the default paths. Either way, the paths can be overriden by given new ones as arguments at run time.

Build time overriding

If you are building YATE from sources and you are using the configure, make build system, you should be aware that the configure scripts allows you to set specific paths. Run ./configure --help to see the options available.

Command line overriding

More important is the fact that you can override the default values of the paths at runtime. This is done by giving YATE the new paths as command line arguments. Each new path for a specific directory is specified as listed in the table bellow:

YATE modules conf files share files user files extra modules
All SVN revs -m new_path -c new_path -e new_path -u new_path -x new_path
Since SVN rev. 5133 -m=new_path -c=new_path -e=new_path -u=new_path -x=new_path

Platform specific notes

Mac OS X notes

Configuration files for YateClient on Mac OS X

The configuration files of YateClient can be found inside the YateClient app bundle, in You can see them listed by using one of the following methods:

  • In Finder, go to Applications and find YateClient. Then do a right click on the application and from the menu, click Show package contents. This should open a Finder window listing the Contents folder of YateClient. From there, go to MacOS -> conf.d to see all configuration files.
  • You could list them using Terminal, issuing the following command ls /Applications/

This way you can see all the configuration files that come bundled with YateClient.

Fixing write permissions for the YateClient configuration files when it was installed from the Mac App Store

Installing the YateClient from the AppStore means that you won't have permission to modify the configuration files, so you need to grant write permissions. This can be solved in the following way:

  • From the Finder window, being located in the MacOS folder (or conf.d folder, if you only want to change permission for specific files), right click on conf.d and click Get Info from the menu.
  • At the bottom of the Info window, there's a Sharing & Permissions section (if it's folded, click on it to expand it). You should see a You can only read message.
  • In the bottom right corner you should see a little lock. Click on it. At this point, the system should be asking you for your administrative password.
  • After introducing the password, click on the + sign and and the person for which you want to grant write permission. After selecting the person, in the Name | Privilege table, select Read&Write privilege for the person you just added. Afterward, click on the Cog button (right of the - sign) and select Apply to enclosed items.

The above operation can also be done on a per file case.

Control YateServer on Mac OS X

On Mac OS X, once installed, the server starts automatically. To start/stop/restart it, issue in Terminal the following command:

sudo /Library/Application\ Support/Yate/yate.init  start | stop | restart

If you want to control if YateServer starts or not automatically, you need to edit in the /Library/LaunchDaemons/ro.nullteam.launchd.yate.plist file by setting the value of the RunAtLoad variable to YES or NO.

See also

Personal tools