HOWTO: tabcmd on Linux – step-by-step guide

 In FOR BI PROS, LEARN, Tableau

tabcmd_linux

So, I have ported the tabcmd application to Linux, from java to native ruby, thus it can work on any platform. If someone needs this for his own environment, here are the steps what I did:

Step 0: You must have ruby and rubygems installed on your system. No java is required.

Step 1. Copy tabcmd.jar from Windows to your linux/unix box

Step 2. Unzip contents of tabcmd.jar to a clean directory:

$ unzip ~/tabcmd.jar
$ ~/tabcmd

Step 3. Install all required gems:

$ gem install `for i in ../../gems/*  ; do (echo \`basename $i\` | cut -f 1 -d '-') ; done `

Step 4. Remove tabutils references

rm ~/tabcmd/rb/tabcmd/common/ruby/lib/tabutil.rb
vim ~/tabcmd/rb/tabcmd/common/ruby/lib/dump_reporter.rb

Change contents to:

#require 'tabutil'
class DumpReporter
  def initialize(app_name, log_dir, exit_on_exception)
  end
  def self.setup(app_name, log_dir, exit_on_exception)
    $dump_reporter = DumpReporter.new(app_name, log_dir, exit_on_exception)
  end
  def self.force_crash
  end
end

Step 5. Set APPDATA directory

$ export APPDATA=~

Step 6. Remove java specific relative path from relative_path.rb

$ vim ./common/ruby/lib/relative_path.rb

Change the line 8 to:

#    tableau_working_dir = java.lang.System.get_property("tableau.working.dir")
    tableau_working_dir = "."

Step 7. Add execute flag to tabcmd.rb

$ chmod +x bin/tabcmd.rb

How it works:

[[email protected] tabcmd]# bin/tabcmd.rb login -U admin -s http://192.168.8.162:8040
===== Creating new session
=====     Server:   http://192.168.8.1:8040/
=====     Username: admin
Password:
===== Connecting to server...
===== Logging in...
===== Login Succeeded.
[[email protected] tabcmd]# ruby bin/tabcmd.rb get views/Sample/Dashboard/admin/View4.csv
===== Continuing previous session
=====     Server:   http://192.168.8.1:8040/
=====     Username: admin
===== Requesting views/Sample/Dashboard/admin/View4.csv from server...
===== Saved views/Sample/Dashboard/admin/View4.csv to /root/tabcmd/View4.csv.
===== Succeeded

Enjoy  ; )


This post was originally published on the Tableau Developer Community Forums.

There is also an alternate method available, you can check it out here.

Contact Us

We're not around right now. But you can send us an email and we'll get back to you, asap.

Not readable? Change text. captcha txt