How to Setup p4 in Linux / Unix

How to Setup p4 in Linux / Unix
Well many people have these questions to me that they are facing issues setting up p4 client in Linux or Unix. The Solution is pretty much straight forwards but sometimes we miss some of things which delay the setup process.
Here I have tried to points out these already available on Perforce Knowledge base site.
Download and Installations:

1. Download the p4 executable file from the Perforce web site: 
The Perforce client programs are typically downloaded to /usr/local/bin.

2. Make the p4 file executable (chmod +x p4)

Perforce Configuration and Workspace Setting
Method 1
Using Config Files:
Config files are text files containing Perforce settings that are in effect for files in and below the directory where the config file resides. Config files are useful if you have multiple client workspaces on the same machine. By specifying the settings in config files, you avoid the inconvenience of changing system settings every time you want to work with a different work-space.
To use config files, you define the P4CONFIG environment variable, specifying a file name (for example, .p4config). When you issue a command, Perforce searches the current working directory and its parent directories for the specified file and uses the settings it contains (unless the settings are overridden by command-line flags).
P4CONFIG = .p4config
Each setting in the file must be specified on its own line, using the following format:

The following settings can be specified in a config file.

Setting Description
P4CLIENT Name of the current client workspace.
P4EDITOR The editor invoked by those Perforce commands that use forms.
P4HOST Hostname of the client workstation. Only useful if the Host: field of the current client workspace has been set in the p4 client form.
P4PASSWD Supplies the current Perforce user’s password for any Perforce client command.
P4PORT The host and port number of the Perforce server or proxy with which to communicate.
P4USER Current Perforce user name.

For details about these settings, refer to the Perforce Command Reference.

Example: Using config files to handle switching between two workspaces
Ona switches between two workspaces on the same machine. The first workspace is ona-ash. It has a client root of /tmp/user/ona and connects to the Perforce server at ida:1818. The second workspace is called ona-agave. Its client root is /home/ona/p4-ona, and it uses the Perforce server at warhol:1666.

Rama sets the P4CONFIG environment variable to .p4config. She creates a file called .p4config in /tmp/user/rama containing the following text:

She creates a second .p4config file in/home/rama/p4-ona. It contains the following text:

Any work she does on files under /tmp/user/rama is managed by the Perforce server at ida:1818 and work she does on files under /home/rama/p4-ona is managed by the Perforce server at warhol:1666.

Method 2: Environment Variable Setting

To configure server connection settings using environment variables, set P4PORT to host:port, as in the following examples.

If the server is running on and is listening to port set P4PORT to
your computer 1666 localhost:1666
perforce 1666 1666

export P4PORT=X.X.X.X\:1667
export P4PASSWD=pass
export P4USER=user
export P4CLIENT=Sonar
export PATH

Defining client workspaces 
To define a client workspace:

1. Specify the workspace name by setting P4CLIENT; for example, on a UNIX system:

$ P4CLIENT=bruno_ws ; export P4CLIENT



Issue the p4 client command.

Perforce displays the client specification form in your text editor.

3. Specify (at least the minimum) settings and save the specification.

The minimum settings you must specify to configure a client workspace are:


Workspace name

The workspace name defaults to the client machine’s hostname, but a client machine can contain multiple workspaces. To specify the effective workspace, set P4CLIENT.

Client root

The client root is the top directory of your client workspace, where Perforce stores your working copies of depot files. Be sure to set the client root, or you might inadvertently sync files to your client machine’s root directory.

To specify server settings on the command line, use the -p flag. For example:
p4 -p localhost:1776 sync //depot/dev/main/jam/Jambase


Mantosh Singh
Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x