Executing amadmin command in Unix box. --*** Urgent*****
I tried to execute following command on Unix machine:
./amadmin -u uid=amAdmin,ou=People,o=ievesp.net -v -w "password"
-s /etc/opt/SUNWam/config/xml/amUser.xml
I am getting following error message:
Info 112: Entering ldapAuthenticate method!
Success 0: No Exceptions! LDAP Authentication success!
Info 113: Calling SSO method!
Error 9: Operation failed: null
Please tell me why I am getting this Error?
Where can I find log files?
Can anyone please help me on this?
I suggest that you post this question to the Access Manager Forum...
<http://swforum.sun.com/jive/forum.jspa?forumID=79>
Regards,
Ludovic.
Similar Messages
-
Executing amadmin command in Unix box.
I tried to execute following command on Unix machine:
./amadmin -u uid=amAdmin,ou=People,o=ievesp.net -v -w "password"
-s /etc/opt/SUNWam/config/xml/amUser.xml
I am getting following error message:
Info 112: Entering ldapAuthenticate method!
Success 0: No Exceptions! LDAP Authentication success!
Info 113: Calling SSO method!
Error 9: Operation failed: null
Please tell me why I am getting this Error?
Where can I find log files?
Can anyone please help me on this?Following is the error message that is recorded at LDAP logs:
[27/Jun/2006:06:31:01 -0400] conn=145220 op=-1 msgId=-1 - fd=83 slot=83 LDAP connection from <<ip address>> to <<ip address>>
[27/Jun/2006:06:31:01 -0400] conn=145220 op=0 msgId=1 - BIND dn="uid=amAdmin,ou=People,o=seccap.net" method=128 version=3
[27/Jun/2006:06:31:01 -0400] conn=145220 op=0 msgId=1 - RESULT err=0 tag=97 nentries=0 etime=0
dn="uid=amadmin,ou=people,o=seccap.net"
[27/Jun/2006:06:31:01 -0400] conn=145220 op=1 msgId=2 - UNBIND
[27/Jun/2006:06:31:01 -0400] conn=145220 op=1 msgId=-1 - closing - U1
[27/Jun/2006:06:31:01 -0400] conn=145220 op=-1 msgId=-1 - closed.
[27/Jun/2006:06:31:03 -0400] conn=145221 op=-1 msgId=-1 - fd=83 slot=83 LDAP connection from <<ip address>> to <<ip address>>
[27/Jun/2006:06:31:03 -0400] conn=145222 op=-1 msgId=-1 - fd=88 slot=88 LDAP connection from <<ip address>> to <<ip address>>
[27/Jun/2006:06:31:03 -0400] conn=145222 op=0 msgId=3 - BIND dn="" method=128 version=3
[27/Jun/2006:06:31:03 -0400] conn=145222 op=0 msgId=3 - RESULT err=0 tag=97 nentries=0 etime=0 dn=""
[27/Jun/2006:06:31:04 -0400] conn=145221 op=-1 msgId=-1 - closing - B1
[27/Jun/2006:06:31:04 -0400] conn=145222 op=-1 msgId=-1 - closing - B1
[27/Jun/2006:06:31:04 -0400] conn=145222 op=-1 msgId=-1 - closed. -
Executing "at" command of UNIX through JSP
Friends,
1. "at" command in UNIX execute Unix command at a scheduled time. 2. For each user there will be a table maintained internally which can be accessed by "at" with "-l" argument.
3. A mail will be sent to the owner with the output of the commands as a message.
I tried to run the "at" command of Unix in JSP, which gets succesfully executed in Oracle 10g App Server container (Installed in Solaris machine). I have tested the successful execution of command with the log file. But I haven't got any mail for the output. If anyone had any idea, please help me.
The code I have wtitten is
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(new String[] {"sh","-c","at 2115 Dec 7 < /export/home/usr1/abc.sh"});
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
logger.info("<ERROR>");
while ( (line = br.readLine()) != null)
logger.info(line);
logger.info("</ERROR>");
int exitVal = proc.waitFor();
logger.info("Process exitValue: " + exitVal);
My doubts are:
1. Who is the owner of the output of "at"command, which gets executed under Oracle 10g App Server container?
2. If no one is the owner, then where will the output of "at" command will go?
3. Is there any other way to execute "at" command of UNIX in java program? If so, then please help me.
Thanks in advance.
regards
Nandha Kumar.MI would imagine the process call out will be under the guise of the process owner of the OC4J instance which executing the call.
Have you seen anything different.
cheers
-steve- -
Facing issues while executing LDAPBind command in Unix
Dear All,
We are trying to invoke a shell script from PeopleCode(which is having the ldapbind command) through exec command. We are able to invoke the shell script but the ldapbind command fails to execute. It throws the below error
+"/usr/bin/ldapbind: error while loading shared libraries: libclntsh.so.10.1: wrong ELF class: ELFCLASS32"+
Not sure whether this is an issue with the installation or configuration. Kindly help us to resolve this issue.
however when we executed this script in unix server directly, its running successfully.
When I have tried to invoke the shell script from PeopleCode using WinExec command, got the below error from PeopleSoft itself
+"Function '%1' cannot be run on the application server. (2,164)+
+A PeopleCode program that is running as part of a processing group on the application server is using a PeopleCode built-in function that is not allowed on the application server."+
Kindly help us to understand what is missing here.
Thanks,
Hari.AStill no clue to fix this issue.
we are able to invoke the script from PeopleCode which has the LDAPBind command. We are writing the log files after invoking this script.
We are able to see those log files getting generated also. But it's not capturing the result of LDAPBind and looks like ldapbind command is skipped from execution.
Please help us to understand where we are missing?
Thanks,
Hari.A -
Problem while executing a command using exec()
I'm trying to execute a command on Unix O/S with the help of java program. For this I have used Runtime class available in java.lang. It works fine for some of the basic unix commands like 'ls','cp' but when I tried to execute command "sqlldr userid=<user>/<pwd> control=/u01/dw/snb/log/sp_shd05721_ins_stg_sqlldr.ctl" , then it's not getting executed. Please advise.
You may be having a problem with the command path, which I don't think Runtime.exec() uses. Try specifying the full path
-
How can I connect to a UNIX server to execute a command?
How can I connect to a UNIX server and execute a command using PowerShell? My shell script is sitting on one server, while the UNIX box is on another.
also, I don't like the idea of hardcoding a username/password within the script file in order to do so.
-Nothing to see. Move along.You will need a library to handle SSH connections.
I'm using SSH.NET, you can find info on it here : http://www.powershelladmin.com/wiki/SSH_from_PowerShell_using_the_SSH.NET_library
It has a bit of a learning curve but the web site has some fairly good tutorials. -
Execute command on UNIX and get the result
I want to write a Java program, which can execute a shell script in UNIX and get back the result. Any idea?
Check these two tips:
How to execute a command from code
http://www.java-tips.org/java-se-tips/java.lang/how-to-execute-a-command-from-code.html
How to read output from a Command execution
http://www.java-tips.org/java-se-tips/java.lang/how-to-read-output-from-a-command-execution.html -
How to execute a Window program from Unix box using Java
I am trying to execut a program running on a Window box from Shell Script on a Unix box. Does anybody knows how to do that using Java. Thanks. Any feedback appreciated.
kevinYou need to use
String fileNane = "setup.exe";
Runtime.getRuntime().exec(fileName);that is if you are writing code
if you are just calling if from a terminal just write
java then the file name ( well I think that is right :)
I do know that the code above work as I have it working on a windoze box
Craig
Hope this is right if not please let me know -
Execute a Window program from Unix box using Java
Hello everyone,
I need to call a application running on a Window box from Shell Script on a Unix box. Does any one have some idea how to do it? Sample codes? I was thinking using Java. Any feedback appreciated.
Thanks.
CrossonKevinSearch
Profit
http://onesearch.sun.com/search/developers/index.jsp?col=devforums&qp_name=Java+Programming&qp=forum%3A31&qt=execute+program -
System.out View Console via Unix box/ Command Line
I am dumping messages to System.out. When I package it and run it as a service, I can drop this to an out file. When I just run the jar file from the windows command line or from a Unix box it runs silently. Is there a way to have the System.out dropped to a file in this scenario or better yet shown on screen?
Once I run the jar file how do I kill it without killing the process?
ThanksFanbladeus02 wrote:
"Killing a jar file..." I don't want to kill the Jar file itself, but I do want to stop it from running after I launch it.Then you mean you want to kill the process which is using the jar file.
>
Example from my unix prompt I do something like this:
java -jar -classpath </home/user/jarprog/> /home/user/jarprog/JARPROG.jar jarprog.Main.java
I don't see any output, it just drops to the next open prompt. This means the program has finished. It could have started another one which does the real work, but you have no control over it.
I assume java is still running my jar file somewhere. (My first thought was) That is very unlikely unless the writers of the code have gone to great lengths to hide another running process from you. (But reading further this appears to be the case)
How do I stop it? Find the process with "ps" and send it a kill signal.
Once I start the program how do I interact with it to stop it?ctrl-C, but you cannot kill it after the prompt has returned because its not running any more. (it started another process and then bailed)
Similiarly in Windows, I run it from the command line it drops to the next "c:\". I look in task manager and see java running. It appears your program starts another java process in the background.
I look in the database that it is updating and the records are flying in. If I end the process, the records stop flying in (DUH). Again how do I interact with it to gracefully end the process?It appears that whoever wrote the program has gone to some lengths to prevent you from doing that. I would ask them. -
Java code to connect to unix box(putty)
i'm having a great problem regarding accessing the putty box from java code.
I need to read some log files from unix through java code.In my client program when i'm giving hostname and port=22...ssh terminal is getting detected,but i'm confused how to open that unix box by giving the username and password.and how am i goin to embed unix command in it.The entire job i've to do through java code.
please help!!..Thanks
Message was edited by:
liz310
Message was edited by:
liz310thanks a lot guys for ur time...but i tried in every way..i'm getting hell lot of errors..please help..its really urgent
/*this is my code:*/
import com.jcraft.jsch.*;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.JSchException;
import com.jcraft.jsch.Session;
import com.jcraft.jsch.UserInfo;
import java.io.*;
public class shell_test {
public static void main(String args[])
String user="user15";
String host="punlin040";
String cmd="ls -l";
JSch jsch = new JSch();
try{
Session session=jsch.getSession(user,host,22);
session.setPassword("user15");
//UserInfo usrInfo=new MyUserInfo();
//session.setUserInfo(usrInfo);
session.connect();
Channel channel=session.openChannel("exec");
((ChannelExec) channel).setCommand(cmd);
channel.setXForwarding(true);
channel.connect();
//code
channel.setInputStream(System.in);
// channel.setOutputStream(System.out);
//((ChannelExec) channel).setErrStream(System.err);
InputStream in = channel.getInputStream();
channel.connect();
byte[] tmp = new byte[1024];
while (true)
while (in.available() > 0)
int i = in.read(tmp, 0, 1024);
if (i < 0)
break;
System.out.print(new String(tmp, 0, i));
if (channel.isClosed())
in.close();
// System.out.println("JSCH: exit-status: " +
//channel.getExitStatus());
break;
try
Thread.sleep(1000);
catch (Exception ee)
channel.disconnect();
session.disconnect();
//code
//ch.setInputStream(System.in);
//ch.setOutputStream(System.out);
}catch(Exception e)
{e.printStackTrace(); }
/*public static class MyUserInfo implements UserInfo {
public String getPassword()
{ return "password"; }
public String getPassphrase()
{ return ""; }
public boolean promptPassword(String arg0)
{ return true; }
public boolean promptPassphrase(String arg0)
{ return true; }
public boolean promptYesNo(String arg0)
{ return true; }
public void showMessage(String arg0)
but i'm getting following errors:
com.jcraft.jsch.JSchException: java.lang.ClassNotFoundException: com.jcraft.jsch
.jce.Random
at com.jcraft.jsch.Session.connect(Session.java:160)
at com.jcraft.jsch.Session.connect(Session.java:145)
at shell_test.main(shell_test.java:25)
Caused by: java.lang.ClassNotFoundException: com.jcraft.jsch.jce.Random
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.jcraft.jsch.Session.connect(Session.java:156)
... 2 more -
Mount a new device in Unix box from Java
Hi,
Would anybody please help me how to write a method that could mount a new device to the sever?
For example, I have new device call "d0". After telnet and login the Unix box, I could execute "/sbin/mount d0". But I don't know how to execute this command from my java app. Someone suggested me to use "telnet" protocol while other suggested to use "socket". I don't know syntax either one.
Please help and thanks in advance.
Hung.Thank you, newio.
You'll than have to communicate with it using the Telnet protocol. >There i probably a class out there that does this for you, so use >Google to find it.If I find Telnet protocol class, how can I use it with my socket. Is that a stand alone application or class? Honestly, I don't know anything about socket programming. Please clerify a little bit loggically how it works.
Thanks
Hung -
Managing a remote unix box with OSX server apps...
Aside from running an OSX server, I am in charge of maintaining an external, SUN unix server from my Mac, and I hate using line commands, esp. with how jaded I've become using the nice tools for managing the Mac server. For now I use terminal in order to change passwords, set permissions and so on as the sudo user on the unix box, and use rbrowser to edit cron jobs.
So, my question is, is there a way to get the OSX server admin tool to think the unix box is an OSX server? And if not, is there a graphical interface to maintain the server (it's running Apache too)? Rbrowser is cool and all, but doesn't let me use sudo for making chnages.
Thanks for any help.
GregBummer about not having the Mac feel on SUN. Life can't always be perfect.
As far as the Webmin, no, haven't heard of it, but it sounds cool. The trick would be getting a huge client like SD County to let us buy it, then go through all the hoops and red tape to get it installed. Most likely their answer would be "Well, what have you been using this whole time and why isn't that good enough now all of a sudden?".
So for the time being, I'l have to be happy using RBrowser for file transfers between the test and production servers (beats the pants off of typing scp -p -i over and over again) and editing cron scripts. Too bad it doesn't provide sudo for changing passwords, groups, and so forth.
I'm this close to having the perfect work environment (the office I work in was all Windows with Dell laptops...until now).
Dual G5 tower Mac OS X (10.4.6) -
[Solved] "slim: failed to execute login command" after awesomewm updat
Hi,
i updated some weeks ago via pacman -Syu, where also awesome wm was updated from 3.4.* to 3.5.* so I updated my rc.lua as it is told on their wiki, but i cant login with my rc.lua anymore i got the failed to execute login command error from slime. If i use the shipped efault rc.lua it works fine, can someone help me to figure out whats wrong with my rc.lua?
-- Standard awesome library
local gears = require("gears")
local awful = require("awful")
awful.rules = require("awful.rules")
require("awful.autofocus")
-- Widget and layout library
local wibox = require("wibox")
-- Theme handling library
local beautiful = require("beautiful")
-- Notification library
local naughty = require("naughty")
local menubar = require("menubar")
local vicious = require("vicious")
function fullscreens(c)
awful.client.floating.toggle(c)
if awful.client.floating.get(c) then
local clientX = screen[1].workarea.x
local clientY = screen[1].workarea.y
local clientWidth = 0
-- look at http://www.rpm.org/api/4.4.2.2/llimits_8h-source.html
local clientHeight = 2147483640
for s = 1, screen.count() do
clientHeight = math.min(clientHeight, screen[s].workarea.height)
clientWidth = clientWidth + screen[s].workarea.width
end
local t = c:geometry({x = clientX, y = clientY, width = clientWidth, height = clientHeight})
else
--apply the rules to this client so he can return to the right tag if there is a rule for that.
awful.rules.apply(c)
end
-- focus our client
client.focus = c
end
-- {{{ Error handling
-- Check if awesome encountered an error during startup and fell back to
-- another config (This code will only ever execute for the fallback config)
if awesome.startup_errors then
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, there were errors during startup!",
text = awesome.startup_errors })
end
-- Handle runtime errors after startup
do
local in_error = false
awesome.connect_signal("debug::error", function (err)
-- Make sure we don't go into an endless error loop
if in_error then return end
in_error = true
naughty.notify({ preset = naughty.config.presets.critical,
title = "Oops, an error happened!",
text = err })
in_error = false
end)
end
-- {{{ Variable definitions
-- Themes define colours, icons, and wallpapers
-- beautiful.init("/home/kili/Repositories/awesome-themes/arch/theme.lua")
beautiful.init("/usr/share/awesome/themes/default/theme.lua")
-- This is used later as the default terminal and editor to run.
terminal = "urxvt"
editor = os.getenv("EDITOR") or "nano"
editor_cmd = terminal .. " -e " .. editor
-- Default modkey.
-- Usually, Mod4 is the key with a logo between Control and Alt.
-- If you do not like this or do not have such a key,
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"
-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
awful.layout.suit.tile,
awful.layout.suit.tile.left,
awful.layout.suit.tile.bottom,
awful.layout.suit.tile.top,
awful.layout.suit.floating,
awful.layout.suit.fair,
awful.layout.suit.fair.horizontal,
awful.layout.suit.spiral,
awful.layout.suit.spiral.dwindle,
awful.layout.suit.max,
awful.layout.suit.max.fullscreen,
awful.layout.suit.magnifier
-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
for s = 1, screen.count() do
-- Each screen has its own tag table.
tags[s] = awful.tag({ 1, 2, 3, 4, 5}, s, layouts[1])
end
-- {{{ Menu
-- Create a laucher widget and a main menu
myawesomemenu = {
{ "manual", terminal .. " -e man awesome" },
{ "edit config", editor_cmd .. " " .. awesome.conffile },
{ "restart", awesome.restart },
{ "quit", awesome.quit }
mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
{ "open terminal", terminal }
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon, menu = mymainmenu })
-- {{{ Wibox
-- Create a textclock widget
batwidget = wibox.widget.textbox()
vicious.register(batwidget, vicious.widgets.bat,
function(widget,args)
local formatstring = " Bat: "..args[1]..args[2] .."%".. " "..args[3] .. " "
if args[2] <= 25 and args[1] == "-" then
return "<span color=\"red\">".. formatstring .. "</span>"
end
return formatstring
end, 60, "BAT0")
netwidgetETH = wibox.widget.textbox()
netwidgetWIFI = wibox.widget.textbox()
vicious.register(netwidgetETH, vicious.widgets.net, ' eth0:<span color="#CC9393">${eth0 down_kb}</span> <span color="#7F9F7F">${eth0 up_kb}</span>', 3)
vicious.register(netwidgetWIFI, vicious.widgets.net,' wlan0:<span color="#CC9393">${wlan0 down_kb}</span> <span color="#7F9F7F">${wlan0 up_kb}</span>', 3)
menubar.utils.terminal = terminal
mytextclock = awful.widget.textclock()--{ align = "right" })
-- Create a systray
mysystray = wibox.widget.systray()
-- Create a wibox for each screen and add it
mywibox = {}
mypromptbox = {}
mylayoutbox = {}
mytaglist = {}
mytaglist.buttons = awful.util.table.join(
awful.button({ }, 1, awful.tag.viewonly),
awful.button({ modkey }, 1, awful.client.movetotag),
awful.button({ }, 3, awful.tag.viewtoggle),
awful.button({ modkey }, 3, awful.client.toggletag),
awful.button({ }, 4, function(t) awful.tag.viewnext(aweful.tag.getscreen(t)) end),
awful.button({ }, 5, function(t) awful.tag.viewprev(aweful.tag.getscreen(t)) end)
mytasklist = {}
mytasklist.buttons = awful.util.table.join(
awful.button({ }, 1, function (c)
if c == client.focus then
c.minimized = true
else
c.minimized = false
if not c:isvisible() then
awful.tag.viewonly(c:tags()[1])
end
-- This will also un-minimize
-- the client, if needed
client.focus = c
c:raise()
end
end),
awful.button({ }, 3, function ()
if instance then
instance:hide()
instance = nil
else
instance = awful.menu.clients({ width=250 })
end
end),
awful.button({ }, 4, function ()
awful.client.focus.byidx(1)
if client.focus then client.focus:raise() end
end),
awful.button({ }, 5, function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end))
for s = 1, screen.count() do
-- Create a promptbox for each screen
mypromptbox[s] = awful.widget.prompt()--{ layout = awful.widget.layout.horizontal.leftright })
-- Create an imagebox widget which will contains an icon indicating which layout we're using.
-- We need one layoutbox per screen.
mylayoutbox[s] = awful.widget.layoutbox(s)
mylayoutbox[s]:buttons(awful.util.table.join(
awful.button({ }, 1, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 3, function () awful.layout.inc(layouts, -1) end),
awful.button({ }, 4, function () awful.layout.inc(layouts, 1) end),
awful.button({ }, 5, function () awful.layout.inc(layouts, -1) end)))
-- Create a taglist widget
mytaglist[s] = awful.widget.taglist(s, awful.widget.taglist.filter.all, mytaglist.buttons)
-- Create a tasklist widget
mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons)
-- Create the wibox
mywibox[s] = awful.wibox({ position = "top", screen = s })
-- Widgets that are aligned to the left
local left_layout = wibox.layout.fixed.horizontal()
left_layout:add(mylauncher)
left_layout:add(mytaglist[s])
left_layout:add(mypromptbox[s])
-- Widgets that are aligned to the right
local right_layout = wibox.layout.fixed.horizontal()
if s == 1 then right_layout:add(wibox.widget.systray()) end
right_layout:add(netwidgetWIFI)
right_layout:add(netwidgetETH)
right_layout:add(batwidget)
right_layout:add(mytextclock)
right_layout:add(mylayoutbox[s])
-- Now bring it all together (with the tasklist in the middle)
local layout = wibox.layout.align.horizontal()
layout:set_left(left_layout)
layout:set_middle(mytasklist[s])
layout:set_right(right_layout)
mywibox[s]:set_widget(layout)
-- Add widgets to the wibox - order matters
--mywibox[s].widgets = {
-- mylauncher,
-- mytaglist[s],
-- mypromptbox[s],
--layout = awful.widget.layout.horizontal.leftright
-- mylayoutbox[s],
-- mytextclock,
-- batwidget,
-- netwidgetETH,
-- netwidgetWIFI,
-- s == 1 and mysystray or nil,
-- mytasklist[s],
-- layout = awful.widget.layout.horizontal.rightleft
end
-- {{{ Mouse bindings
root.buttons(awful.util.table.join(
awful.button({ }, 3, function () mymainmenu:toggle() end),
awful.button({ }, 4, awful.tag.viewnext),
awful.button({ }, 5, awful.tag.viewprev)
-- {{{ Key bindings
globalkeys = awful.util.table.join(
awful.key({ modkey, }, "Left", awful.tag.viewprev ),
awful.key({ modkey, }, "Right", awful.tag.viewnext ),
awful.key({ modkey, }, "Escape", awful.tag.history.restore),
awful.key({ modkey, }, "j",
function ()
awful.client.focus.byidx( 1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "k",
function ()
awful.client.focus.byidx(-1)
if client.focus then client.focus:raise() end
end),
awful.key({ modkey, }, "w", function () mymainmenu:show() end),
-- Layout manipulation
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end),
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end),
awful.key({ modkey, "Control" }, "j", function () awful.screen.focus_relative( 1) end),
awful.key({ modkey, "Control" }, "k", function () awful.screen.focus_relative(-1) end),
awful.key({ modkey, }, "u", awful.client.urgent.jumpto),
awful.key({ modkey, }, "Tab",
function ()
awful.client.focus.history.previous()
if client.focus then
client.focus:raise()
end
end),
-- Standard program
awful.key({ modkey, }, "Return", function () awful.util.spawn(terminal) end),
awful.key({ modkey, "Control" }, "r", awesome.restart),
awful.key({ modkey, "Shift" }, "q", awesome.quit),
awful.key({ modkey, }, "l", function () awful.tag.incmwfact( 0.05) end),
awful.key({ modkey, }, "h", function () awful.tag.incmwfact(-0.05) end),
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1) end),
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1) end),
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1) end),
awful.key({ modkey, }, "space", function () awful.layout.inc(layouts, 1) end),
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(layouts, -1) end),
awful.key({ modkey, "Control" }, "n", awful.client.restore),
-- Prompt
awful.key({ modkey }, "r", function () mypromptbox[mouse.screen]:run() end),
awful.key({ modkey }, "x",
function ()
awful.prompt.run({ prompt = "Run Lua code: " },
mypromptbox[mouse.screen].widget,
awful.util.eval, nil,
awful.util.getdir("cache") .. "/history_eval")
end),
-- Multimedia
awful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer -q sset Master 2dB-") end),
awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer -q sset Master 2dB+") end),
awful.key({ }, "XF86AudioNext",function () awful.util.spawn( "mocp -f" ) end),
awful.key({ }, "XF86AudioPrev",function () awful.util.spawn( "mocp -r" ) end),
awful.key({ }, "XF86AudioPlay",function () awful.util.spawn( "mocp -G" ) end),
awful.key({ }, "Print", function () awful.util.spawn("ksnapshot") end),
awful.key({ }, "", function () awful.util.spawn("slimlock") end)
clientkeys = awful.util.table.join(
awful.key({ modkey, }, "f", function (c) c.fullscreen = not c.fullscreen end),
awful.key({ modkey, "Shift" }, "c", function (c) c:kill() end),
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ),
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end),
awful.key({ modkey, }, "o", awful.client.movetoscreen ),
-- awful.key({ modkey, "Shift" }, "r", function (c) c:redraw() end),
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end),
awful.key({ modkey, }, "n",
function (c)
-- The client currently has the input focus, so it cannot be
-- minimized, since minimized clients can't have the focus.
c.minimized = true
end),
awful.key({ modkey, }, "m",
function (c)
c.maximized_horizontal = not c.maximized_horizontal
c.maximized_vertical = not c.maximized_vertical
end),
awful.key({ modkey, "Shift" }, "f", fullscreens)
-- Compute the maximum number of digit we need, limited to 9
keynumber = 0
for s = 1, screen.count() do
keynumber = math.min(9, math.max(#tags[s], keynumber))
end
-- Bind all key numbers to tags.
-- Be careful: we use keycodes to make it works on any keyboard layout.
-- This should map on the top row of your keyboard, usually 1 to 9.
for i = 1, keynumber do
globalkeys = awful.util.table.join(globalkeys,
awful.key({ modkey }, "#" .. i + 9,
function ()
local screen = mouse.screen
if tags[screen][i] then
awful.tag.viewonly(tags[screen][i])
end
end),
awful.key({ modkey, "Control" }, "#" .. i + 9,
function ()
local screen = mouse.screen
if tags[screen][i] then
awful.tag.viewtoggle(tags[screen][i])
end
end),
awful.key({ modkey, "Shift" }, "#" .. i + 9,
function ()
if client.focus and tags[client.focus.screen][i] then
awful.client.movetotag(tags[client.focus.screen][i])
end
end),
awful.key({ modkey, "Control", "Shift" }, "#" .. i + 9,
function ()
if client.focus and tags[client.focus.screen][i] then
awful.client.toggletag(tags[client.focus.screen][i])
end
end))
end
clientbuttons = awful.util.table.join(
awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
awful.button({ modkey }, 1, awful.mouse.client.move),
awful.button({ modkey }, 3, awful.mouse.client.resize))
-- Set keys
root.keys(globalkeys)
-- Set Firefox to always map on tags number 2 of screen 1.
-- { rule = { class = "Firefox" },
-- properties = { tag = tags[1][2] } },
-- {{{ Rules
if screen.count() > 1 then
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
-- border_color = beautiful.border_normal,
focus = true,
keys = clientkeys,
buttons = clientbuttons } },
{ rule = { class = "MPlayer" },
properties = { floating = true } },
{ rule = { class = "gimp" },
properties = { floating = true } },
{ rule = { class = "Xdialog" },
properties = { floating = true } },
{ rule = { class = "Firefox" },
properties = { tag = tags[1][1] } },
{ rule = { name = "Thunderbird" },
properties = { tag = tags[1][2] } },
{ rule = { instance = "plugin-container" },
properties = { floating = true } },
{ rule = { class = "Luakit" },
properties = { floating = true } }
else
awful.rules.rules = {
-- All clients will match this rule.
{ rule = { },
properties = { border_width = beautiful.border_width,
-- border_color = beautiful.border_normal,
focus = true,
keys = clientkeys,
buttons = clientbuttons } },
{ rule = { class = "MPlayer" },
properties = { floating = true } },
{ rule = { class = "gimp" },
properties = { floating = true } },
{ rule = { class = "Firefox" },
properties = { tag = tags[1][2] } },
{ rule = { name = "Thunderbird" },
properties = { tag = tags[1][3] } },
{ rule = { instance = "plugin-container" },
properties = { floating = true, fullscreen = true } },
{ rule = { class = "Dolphin" },
properties = { floating = false, fullscreen = false, tag = tags[1][4] } },
{ rule = { class = "Luakit" },
properties = { floating = true } },
{ rule = { class = "Pidgin" },
properties = { tag = tags[1][5] } }
end
-- {{{ Signals
-- Signal function to execute when a new client appears.
client.connect_signal("manage", function (c, startup)
-- Add a titlebar
-- awful.titlebar.add(c, { modkey = modkey })
-- Enable sloppy focus
c:connect_signal("mouse::enter", function(c)
if awful.layout.get(c.screen) ~= awful.layout.suit.magnifier
and awful.client.focus.filter(c) then
client.focus = c
end
end)
if not startup then
-- Set the windows at the slave,
-- i.e. put it at the end of others instead of setting it master.
-- awful.client.setslave(c)
-- Put windows in a smart way, only if they does not set an initial position.
if not c.size_hints.user_position and not c.size_hints.program_position then
awful.placement.no_overlap(c)
awful.placement.no_offscreen(c)
end
end
local titlebars_enabled = false
if titlebars_enabled and (c.type == "normal" or c.type == "dialog") then
-- Widgets that are aligned to the left
local left_layout = wibox.layout.fixed.horizontal()
left_layout:add(awful.titlebar.widget.iconwidget(c))
-- Widgets that are aligned to the right
local right_layout = wibox.layout.fixed.horizontal()
right_layout:add(awful.titlebar.widget.floatingbutton(c))
right_layout:add(awful.titlebar.widget.maximizedbutton(c))
right_layout:add(awful.titlebar.widget.stickybutton(c))
right_layout:add(awful.titlebar.widget.ontopbutton(c))
right_layout:add(awful.titlebar.widget.closebutton(c))
-- The title goes in the middle
local title = awful.titlebar.widget.titlewidget(c)
title:buttons(awful.util.table.join(
awful.button({ }, 1, function()
client.focus = c
c:raise()
awful.mouse.client.move(c)
end),
awful.button({ }, 3, function()
client.focus = c
c:raise()
awful.mouse.client.resize(c)
end)
-- Now bring it all together
local layout = wibox.layout.align.horizontal()
layout:set_left(left_layout)
layout:set_right(right_layout)
layout:set_middle(title)
awful.titlebar(c):set_widget(layout)
end
end)
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
Here is also my slime config and my initrc
ls -lisa .xinitrc
3276814 4 -rwxr-xr-x ...
#!/bin/sh
xrdb -merge ~/.Xresources
wicd-client --tray &
exec awesome #>> ~/.cache/awesome/stdout 2>> ~/.cache/awesome/stderr
# Path, X server and arguments (if needed)
# Note: -xauth $authfile is automatically appended
default_path /bin:/usr/bin:/usr/local/bin
default_xserver /usr/bin/X
xserver_arguments -nolisten tcp vt07
# Commands for halt, login, etc.
halt_cmd /sbin/shutdown -h now
reboot_cmd /sbin/shutdown -r now
console_cmd /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login"
#suspend_cmd /usr/sbin/suspend
# Full path to the xauth binary
xauth_path /usr/bin/xauth
# Xauth file for server
authfile /var/run/slim.auth
# Activate numlock when slim starts. Valid values: on|off
numlock on
# Hide the mouse cursor (note: does not work with some WMs).
# Valid values: true|false
# hidecursor false
# This command is executed after a succesful login.
# you can place the %session and %theme variables
# to handle launching of specific commands in .xinitrc
# depending of chosen session and slim theme
# NOTE: if your system does not have bash you need
# to adjust the command according to your preferred shell,
# i.e. for freebsd use:
# login_cmd exec /bin/sh - ~/.xinitrc %session
login_cmd exec /bin/bash -login ~/.xinitrc %session
# Commands executed when starting and exiting a session.
# They can be used for registering a X11 session with
# sessreg. You can use the %user variable
# sessionstart_cmd some command
# sessionstop_cmd some command
# Start in daemon mode. Valid values: yes | no
# Note that this can be overriden by the command line
# options "-d" and "-nodaemon"
# daemon yes
# Available sessions (first one is the default).
# The current chosen session name is replaced in the login_cmd
# above, so your login command can handle different sessions.
# see the xinitrc.sample file shipped with slim sources
sessions awesome,xfce4,icewm-session,wmaker,blackbox
# Executed when pressing F11 (requires imagemagick)
screenshot_cmd import -window root /slim.png
# welcome message. Available variables: %host, %domain
welcome_msg Welcome to %host
# Session message. Prepended to the session name when pressing F1
# session_msg Session:
# shutdown / reboot messages
shutdown_msg The system is halting...
reboot_msg The system is rebooting...
# default user, leave blank or remove this line
# for avoid pre-loading the username.
default_user kili
# Focus the password field on start when default_user is set
# Set to "yes" to enable this feature
focus_password yes
# Automatically login the default user (without entering
# the password. Set to "yes" to enable this feature
#auto_login no
# current theme, use comma separated list to specify a set to
# randomly choose from
current_theme archlinux-simplyblack
# Lock file
lockfile /var/lock/slim.lock
# Log file
logfile /var/log/slim.log
Thanks in advance!
Edit:
Besides a lot of other errors the problem was the systray. It was created 2 times, now login works again. I figured that out via enabling logging for awesome in the xinitrc again.
Last edited by stubb (2013-01-08 23:20:05)Hi,
I have the same kind of issue after updated slim from v1.3.4-4 to v1.3.5-1.
see my topic here :
https://bbs.archlinux.org/viewtopic.php?id=156792
Last edited by cedricl (2013-01-24 17:16:42) -
Executing System Commands In Java
Hi,
I am not sure if this is a bug � or I am just doing this wrong. I have
written a program to move files into ~/.trash/ . My problem is that this
works only for files without spaces � but for files with spaces it will
not work. Some of my code is below.
I have temporarily uploaded the complete file at
http://www.geocities.com/carmaski/Remove.java
public static void main(String args[]) {
String currDir = System.getProperty("user.dir") + "/";
String trashDir = "\" \"/home/masca/.trash/";
String commandString = "";
for (int i = 0; i < args.length; i++ ) {
File tmpFile = new File(currDir + args);
if(tmpFile.exists()) {
commandString = "mv \"" + currDir + args[i] + trashDir
+ args[i] + getTimeTag() + "\"";
System.out.println("The command would be -- " +
commandString);
try {
Process p = Runtime.getRuntime().exec(commandString);
catch (IOException e) {
e.printStackTrace();
System.exit(-1);
As an example I tried � this with a file that has a space � and I get
the following output.
The command would be -- mv "/home/masca/WORK/Text File"
"/home/masca/.trash/Text File_2005.04.17_04hrs:25mins:36secs"
However the file remains without being moved.
I cannot understand why the mv command does not work in java. If I
manually copy this to the command line I can get the file to work. It
should be noted that this program works perfectly if the file does not
have a space.
Regards,
RioUse File.separator or simply / instead of Windows
backslashes.
- SaishI think OP is on a unix machine, and he still needs to escape the spaces. The escape character is, of course, a back-slash.
Depending on the shell (my experience is with bash), to execute the command mv Test File.txt newTest File.txt, the file names either need to be double-quoted so that the command shell will treat them as a single token (I think that will work), or the spaces need to be escaped (I know that will work). In java, to include a single \ in a literal String, you need to escape the escape character, which is why I think two \\ are needed in the String, so that one will survive to be passed on to the exec command.
� {�
Maybe you are looking for
-
Filename Character Limit?
I've got an action that takes a file and spits it out to gif and jpeg, but when it does so it clips the filename of the original psd if its over like 29 or 30 characters (for example: "31character_long_filename_blahblah.psd" becomes something like "3
-
FFT Filter Preset Importation / Creation
After using Audition to copy the eq's of two different songs, I computed the difference between them in Excel to make a compensation eq curve. I would like to use the data I collected to generate an FFT Filter preset. I have looked into editing Audit
-
Access denied, random pages in CA
Hi folks. Yes another access denied issue, none of the existing threads have helped, and I need help. I'm getting on random CA pages Sorry, this site hasn't been shared with you. The account is the setup account, local admin, SQL SA, SharePoint Farm
-
Error while dragging cube measures on powerview
Hello! I'm trying to get started with PowerView in SharePoint 2013 but i'm facing a little problem. I'm trying to connect to a AnalysisServices (Multidimensional) instance, version 11.0.3373.0 on SQL Server 2012 SP1 CU5. In PowerView i can explore th
-
What is the latest PC Sync for Sony (Ericsson) Mobiles?
I see different types of software for syncing Sony devices. But which of the followings are the lastest and which one(s) are expired. Sony Ericsson PC Suite 6.011.00 PC Suite for Sony Ericsson 1.6.0 Sony PC Companion & Sony Media Go Is "Sony Ericsson