Storebrowse

Storebrowse is a lightweight command-line utility that interacts between the client and the server. Using the storebrowse utility, administrators can automate the following day-to-day operations:

  • Add a store.
  • List the published apps and desktops from a configured store.
  • Subscribe and unsubscribe apps and desktops from a configured store.
  • Enable and disable shortcuts for published apps and desktops.
  • Launch published applications.
  • Reconnect to disconnected sessions.

Generally, the storebrowse utility is available in the /util folder. You can find it under the installation location. For example, /opt/Citrix/ICAClient/util.

Prerequisites

The storebrowse utility requires the libxml2 library package.

Launch published desktops and applications

There are two ways to launch a resource:

  • You can use the command line and storebrowse commands
  • You can use the UI to launch a resource.

This article discusses storebrowse commands.

Storebrowse enhancement for service continuity

Previously, the Workspace connection lease files were synced with files available on the remote server only if you connected using the Self-Service plug-in. As a result, the service continuity feature wasn’t supported when you launched apps or desktop session using storebrowse. Most third-party thin-client vendors use storebrowse to connect to the Workspace platform and the service continuity feature wasn’t enabled for them.

Starting with version 2109 for Citrix Workspace app, the Workspace connection lease files sync with files available on the remote server when you connect using storebrowse as well. This feature helps the third-party thin-client vendors to access Workspace even when offline.

Note:

  • This enhancement is available only when service continuity is enabled in cloud deployments. For more information, see the Configure Service Continuity section in the Citrix Workspace documentation.

Command usage

The following section details the storebrowse commands that you can use from the storebrowse utility.

Add a store

-a, --addstore

Description:

Adds a store with gateway and beacon details along with the ServiceRecord daemon process. This command returns the full URL of the store. An error appears if adding a store fails.

Command example of StoreFront:

Command:

./storebrowse -a *URL of StoreFront or a PNAStore*

Example:

./storebrowse -a https://my.firstexamplestore.net

Note:

You can add several stores using the storebrowse utility.

Previously, this command adds a single store and returns the URL of the store. Starting with the 2311 release, along with the existing functionality, this command adds all URLs when multiple accounts are available.

Help

-?, -h, --help

Description:

Provides details on the storebrowse utility usage.

List store

-l --liststore

Description:

Lists the stores that you’ve added.

Command Example on StoreFront:

./storebrowse -l

Note:

Previously, this command was listing only single stores added to an account. Starting with the 2311 release, this command lists multi-stores as well.

List authentication methods

-lt

Description: Starting with Citrix Workspace app for Linux version 2402, a new command -lt is introduced to list out all types of enabled authentication methods for StoreFront. This command supports using the credential insertion SDK.

Enter the storebrowse command as follows:

./storebrowse -lt <full URL>`
<!--NeedCopy-->

The output is as follows:

Storebrowse command

Enumerate

-E --enumerate

Description:

Lists the available resources. By default, the following values appear:

  • Resource name
  • Display name
  • Resource folder

To view more information, append the -M --details command to the -E command.

Note:

When you run the -E command, an authentication window appears if you have not provided your credentials earlier.

Enter the entire store URL as reported by -liststore.

Command example of StoreFront:

  • ./storebrowse.exe -E https://my.firstexamplestore.net/Citrix/Store/discovery

  • ./storebrowse.exe -E -M https://my.firstexamplestore.net/Citrix/Store/discovery

Subscribed

-S --subscribed

Description:

Lists the subscribed resources. By default, the following values appear:

  • Resource name
  • Display name
  • Resource folder

To view more information, append the -M --details command to the -E command.

Command example of StoreFront:

  • ./storebrowse.exe -S https://my.firstexamplestore.net/Citrix/Store/discovery

  • ./storebrowse.exe -S -M https://my.firstexamplestore.net/Citrix/Store/discovery

Details

-M --details

Description:

This command returns several attributes of the published applications. Generally, this command is used with -E and -S commands. This command takes an argument that is the sum of the numbers corresponding to the required details:

  • Publisher(0x1)
  • VideoType(0x2)
  • SoundType(0x4)
  • AppInStartMenu(0x8)
  • AppOnDesktop(0x10)
  • AppIsDesktop(0x20)
  • AppIsDisabled(0x40)
  • WindowType(0x80)
  • WindowScale(0x100)
  • DisplayName(0x200)
  • AppIsMandatory(0x10000)
  • CreateShortcuts(0x100000)
  • RemoveShortcuts(0x200000)

Notes:

  • To create menu entries for subscribed applications, use the CreateShortcuts(0x100000) argument with the -S, -s, and -u commands.

  • To delete all menu entries, use RemoveShortcuts(0x200000) with the -S command.

Command example of StoreFront:

./storebrowse.exe -S -M 0x264 https://my.firstexamplestore.net/Citrix/Store/discovery

In the preceding command example, 0x264 is the combination of DisplayName(0x200), AppIsDisabled(0x40), AppIsDesktop(0x20), and SoundType(0x4). The output lists the subscribed resources along with the details.

You can use the -M command for listing the resources with the required details:

./storebrowse.exe -E -M 0x264 https://my.firstexamplestore.net/Citrix/Store/discovery

Notes:

  • You can express the values in either decimal or in hexadecimal format. For example, 512 for 0x200.
  • When some of the details aren’t available through storebrowse, the output value is zero.

Subscribe

-s --subscribe

Description:

Subscribes the specified resource from a given store.

Command example of StoreFront:

./storebrowse -s <Resource_Name> https://my.firstexamplestore.net/Citrix/Store/discovery

Unsubscribe

-u --unsubscribe

Description:

Unsubscribes the specified resource from a given store.

Command example of StoreFront:

./storebrowse -u <Resource_Name> https://my.firstexamplestore.net/Citrix/Store/discovery

Launch

-L --launch

Description:

Launches a connection to a published resource. The utility then closes automatically, leaving a successfully connected session.

Command example of StoreFront:

./storebrowse -L <Resource_Name> https://my.firstexamplestore.net/Citrix/Store/discovery

Icons

-i --icons

Description:

This command fetches desktop and application icons in PNG format. This command is used with the -E or the -S command.

To fetch icons of required sizes and depths, use the best argument or the size argument method.

Best argument

Using the best argument method, you can fetch the best-sized icons available on the server. You can later convert the icons to the required sizes. The best argument method is the most efficient way to store, apply bandwidth, and simplify scripting. The files are saved in the <resource name>.png format.

Size argument

To fetch icons of specified sizes and depths, use the size argument method. An error appears if the server is unable to fetch icons of a given size or depth.

The size argument is of the WxB form, where:

  • W is the width of icons. All icons are square, so only one value is required to specify the size.
  • B is the color depth. That is, the number of bits per pixel.

Note:

The value W is mandatory. The value B is optional.

If you leave the values unspecified, icons of all available image depths appear. The files are saved in the <resource name>_WxWxB.png format.

Both the methods save icons in the .png format for each resource that the -E or the -S command returns.

Icons are stored in the .ICAClient/cache/icons folder.

Command example of StoreFront:

  • ./storebrowse -E -i best https://my.firstexamplestore.net/Citrix/Store/discovery

  • ./storebrowse -S -i 16x16 https://my.firstexamplestore.net/Citrix/Store/discovery

Reconnect session

-W [r|R] --reconnect [r|R]

Description:

Reconnects the disconnected yet active sessions of the specified store. The [r] option reconnects all the disconnected sessions. The [R] option reconnects all the active and disconnected sessions.

Command example of StoreFront:

  • ./storebrowse -Wr https://my.firstexamplestore.net/Citrix/Store/discovery

  • ./storebrowse -WR https://my.firstexamplestore.net/Citrix/Store/discovery

Disconnect session

-WD --disconnect

Description:

Disconnects all sessions of the specified store.

Command example of StoreFront:

./storebrowse -WD https://my.firstexamplestore.net/Citrix/Store/discovery

Terminate session

-WT --terminate

Description:

Terminates all sessions of the specified store.

Command example of StoreFront:

./storebrowse -WT https://my.firstexamplestore.net/Citrix/Store/discovery

Version

-v --version

Description:

Displays the version of the storebrowse utility.

Command example of StoreFront:

./storebrowse -v

Root directory

-r --icaroot

Description:

Specifies the root directory where Citrix Workspace app for Linux is installed. If not specified, the root directory is determined at run time.

Command example of StoreFront:

./storebrowse -r /opt/Citrix/ICAClient

Username, Password, Domain

-U --username, -P --password, -D --domain

Description:

Passes the user name, password, and the domain details to the server. This method works only with a PNA store. StoreFront stores ignore this command. The details aren’t cached. Enter the details with every command.

Command example of StoreFront:

./storebrowse -E https://my.firstexamplestore.net/Citrix/Store/discovery -U user1 -P password -D domain-name

Delete store

-d --deletestore

Description:

Deregisters a store with the ServiceRecord daemon.

Command example of StoreFront:

./storebrowse -d https://my.firstexamplestore.net/Citrix/Store/discovery

Configure self-service

-c --configselfservice

Description:

Gets and configures the self-service UI settings that are stored in StoreCache.ctx. Takes an argument of the <entry[=value]> form. If only an entry is present, the setting’s current value is printed. However, if a value is present, the value is used to configure the setting.

Command example of StoreFront:

./storebrowse -c SharedUserMode=True

Add CR file

-C --addcr

Description:

Reads the provided Citrix Receiver (CR) file, and prompts you to add each store. The output is the same as the -a command, but has more than one store, separated by new lines.

Command example of StoreFront:

./storebrowse -C <path to CR file>

Sync connection lease files

-o --synclease

Description:

Starts to sync Workspace connection lease files with the files available on the remote server for the specified store. This command helps to update the default store and triggers the lease file sync. An error appears if service continuity is disabled.

Command:

./storebrowse -o *URL of Store *

Command example of StoreFront:

./storebrowse –o https://my.firstexamplestore.net

Close storebrowse daemon

-K --killdaemon

Description:

Terminates the storebrowse daemon. As a result, all credentials and tokens are purged. Starting with the 2311 release, the -K command also helps to sign out from the StoreFront, cloud stores, or NetScaler Gateway.

Command example of StoreFront:

./storebrowse -K

List error codes

-e --listerrorcodes

Description:

Lists the error codes that are registered.

Command example of StoreFront:

./storebrowse -e

Store gateway

-g --storegateway

Description:

Sets the default gateway for a store that is already registered with the ServiceRecord daemon.

Command example of StoreFront:

./storebrowse -g “<unique gateway name>” https://my.firstexamplestore.net/Citrix/Store/discovery

Note:

The unique gateway name must be in the list of gateways for the specified store.

Quick launch

-q, --quicklaunch

Description:

Launches an application using the direct URL. This command works only for StoreFront stores.

Command example of StoreFront:

.\storebrowse.exe -q <https://my.firstexamplestore.net/Citrix/Store/resources/v2/Q2hJkOlmNoPQrSTV9y/launch/ica> <https://my.firstexamplestore.net/Citrix/Store/discovery>

Daemonize

-n --nosingleshot

Description:

Always daemonizes the storebrowse process.

Command example of StoreFront:

./storebrowse -n

File parameters

-F --fileparam

Description:

Launches a file with the file path and the resource specified.

Command example of StoreFront:

./storebrowse -F “<path to file>” -L <Resource Name> <https://my.firstexamplestore.net/Citrix/Store/discovery>

Workflow

This article demonstrates a simple workflow on how to launch an app using the storebrowse commands:

  1. ./storebrowse -a https://my.firstexamplestore.net

    Adds a store and provides the full URL of the store. Make a note of the full URL because it’s used in the later commands.

  2. ./storebrowse.exe -E https://my.firstexamplestore.net/Citrix/Store/discovery

    Lists all the published apps and desktops. Enter your credentials using the popup that appears for the registered store.

  3. ./storebrowse -L <Resource_Name> https://my.firstexamplestore.net/Citrix/Store/discovery

    Launches the resource. Take the Resource_Name from the output of the previous command.

  4. ./storebrowse -K

    This command purges the credentials entered earlier and closes the storebrowse daemon. If you do not mention this command explicitly, the storebrowse process exits after an hour.

Storebrowse